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