bpo-34242: Raise error when getting a missing option from a config section by Stigjb · Pull Request #8487 · python/cpython
Expand Up
@@ -199,7 +199,8 @@ def basic_test(self, cf):
cf['No Such Foo Bar'].get('foo', fallback='baz')
eq(cf['Foo Bar'].get('no-such-foo', 'baz'), 'baz')
eq(cf['Foo Bar'].get('no-such-foo', fallback='baz'), 'baz')
eq(cf['Foo Bar'].get('no-such-foo'), None)
with self.assertRaises(configparser.NoOptionError):
cf['Foo Bar'].get('no-such-foo')
eq(cf['Spacey Bar'].get('foo', None), 'bar2')
eq(cf['Spacey Bar'].get('foo', fallback=None), 'bar2')
with self.assertRaises(KeyError):
Expand All
@@ -210,7 +211,8 @@ def basic_test(self, cf):
eq(cf['Types'].getint('no-such-int', fallback=18), 18)
eq(cf['Types'].getint('no-such-int', "18"), "18") # sic!
eq(cf['Types'].getint('no-such-int', fallback="18"), "18") # sic!
eq(cf['Types'].getint('no-such-int'), None)
with self.assertRaises(configparser.NoOptionError):
cf['Types'].getint('no-such-int')
self.assertAlmostEqual(cf['Types'].getfloat('float', 0.0), 0.44)
self.assertAlmostEqual(cf['Types'].getfloat('float',
fallback=0.0), 0.44)
Expand All
@@ -219,15 +221,17 @@ def basic_test(self, cf):
fallback=0.0), 0.0)
eq(cf['Types'].getfloat('no-such-float', "0.0"), "0.0") # sic!
eq(cf['Types'].getfloat('no-such-float', fallback="0.0"), "0.0") # sic!
eq(cf['Types'].getfloat('no-such-float'), None)
with self.assertRaises(configparser.NoOptionError):
cf['Types'].getfloat('no-such-float')
eq(cf['Types'].getboolean('boolean', True), False)
eq(cf['Types'].getboolean('boolean', fallback=True), False)
eq(cf['Types'].getboolean('no-such-boolean', "yes"), "yes") # sic!
eq(cf['Types'].getboolean('no-such-boolean', fallback="yes"),
"yes") # sic!
eq(cf['Types'].getboolean('no-such-boolean', True), True)
eq(cf['Types'].getboolean('no-such-boolean', fallback=True), True)
eq(cf['Types'].getboolean('no-such-boolean'), None)
with self.assertRaises(configparser.NoOptionError):
cf['Types'].getboolean('no-such-boolean')
if self.allow_no_value:
eq(cf['NoValue'].get('option-without-value', False), None)
eq(cf['NoValue'].get('option-without-value', fallback=False), None)
Expand Down
Expand Up
@@ -2089,7 +2093,8 @@ def _test_len(self, cfg):
self.assertEqual(cfg['two'].getlen('two'), 5)
self.assertEqual(cfg['two'].getlen('three'), 4)
self.assertEqual(cfg['two'].getlen('four', 0), 0)
self.assertEqual(cfg['two'].getlen('four'), None)
with self.assertRaises(configparser.NoOptionError):
cfg['two'].getlen('four')
def test_instance_assignment(self): cfg = configparser.ConfigParser() Expand Down
def test_instance_assignment(self): cfg = configparser.ConfigParser() Expand Down