diff options
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/ConfigParser.py | 6 | ||||
-rw-r--r-- | Lib/test/test_cfgparser.py | 8 |
2 files changed, 13 insertions, 1 deletions
diff --git a/Lib/ConfigParser.py b/Lib/ConfigParser.py index 131d697..65c6ae2 100644 --- a/Lib/ConfigParser.py +++ b/Lib/ConfigParser.py @@ -235,8 +235,12 @@ class RawConfigParser: """Create a new section in the configuration. Raise DuplicateSectionError if a section by the specified name - already exists. + already exists. Raise ValueError if name is DEFAULT or any of it's + case-insensitive variants. """ + if section.lower() == "default": + raise ValueError, 'Invalid section name: %s' % section + if section in self._sections: raise DuplicateSectionError(section) self._sections[section] = self._dict() diff --git a/Lib/test/test_cfgparser.py b/Lib/test/test_cfgparser.py index c4df741..a8b5d7c 100644 --- a/Lib/test/test_cfgparser.py +++ b/Lib/test/test_cfgparser.py @@ -446,6 +446,14 @@ class SafeConfigParserTestCase(ConfigParserTestCase): self.assertRaises(TypeError, cf.set, "sect", "option2", 1.0) self.assertRaises(TypeError, cf.set, "sect", "option2", object()) + def test_add_section_default_1(self): + cf = self.newconfig() + self.assertRaises(ValueError, cf.add_section, "default") + + def test_add_section_default_2(self): + cf = self.newconfig() + self.assertRaises(ValueError, cf.add_section, "DEFAULT") + class SortedTestCase(RawConfigParserTestCase): def newconfig(self, defaults=None): self.cf = self.config_class(defaults=defaults, dict_type=SortedDict) |