On 22 September 2015 at 21:04, Dylan Baker <baker.dyla...@gmail.com> wrote: > This is in keeping with the way that piglitconfig.get() works in python3 > (although there are some corner case differences since in python3 it > uses keyword only arguments). > > Signed-off-by: Dylan Baker <dylanx.c.ba...@intel.com>
Reviewed-by: Thomas Wood <thomas.w...@intel.com> > --- > > This would actually be pretty useful in a number of cases in piglit > currently, and a few patches on the mailing list. > > framework/core.py | 6 +++--- > framework/tests/core_tests.py | 4 ++++ > 2 files changed, 7 insertions(+), 3 deletions(-) > > diff --git a/framework/core.py b/framework/core.py > index 63cb911..dbd6895 100644 > --- a/framework/core.py > +++ b/framework/core.py > @@ -58,7 +58,7 @@ class PiglitConfig(ConfigParser.SafeConfigParser): > ConfigParser.SafeConfigParser.readfp(self, fp, filename) > self.filename = os.path.abspath(filename or fp.name) > > - def safe_get(self, *args, **kwargs): > + def safe_get(self, section, option, fallback=None, **kwargs): > """A version of self.get that doesn't raise NoSectionError or > NoOptionError. > > @@ -67,9 +67,9 @@ class PiglitConfig(ConfigParser.SafeConfigParser): > > """ > try: > - return self.get(*args, **kwargs) > + return self.get(section, option, **kwargs) > except (ConfigParser.NoOptionError, ConfigParser.NoSectionError): > - return None > + return fallback > > def required_get(self, section, option, **kwargs): > """A version fo self.get that raises PiglitFatalError. > diff --git a/framework/tests/core_tests.py b/framework/tests/core_tests.py > index af09339..9be9c57 100644 > --- a/framework/tests/core_tests.py > +++ b/framework/tests/core_tests.py > @@ -267,3 +267,7 @@ class TestPiglitConfig(object): > """core.PiglitConfig: required_get raises PiglitFatalError if the > section is missing > """ > self.conf.required_get('invalid', 'invalid') > + > + def test_safe_get_fallback(self): > + """core.PiglitConfig: safe_get returns the value of fallback when > the section or option is missing""" > + nt.eq_(self.conf.safe_get('invalid', 'invalid', fallback='foo'), > 'foo') > -- > 2.5.3 > > _______________________________________________ > Piglit mailing list > Piglit@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/piglit _______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/piglit