]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-38967: Improve the error msg for reserved _sunder_ names in enum (GH-18370)
authorZackery Spytz <zspytz@gmail.com>
Sun, 13 Sep 2020 20:27:51 +0000 (14:27 -0600)
committerGitHub <noreply@github.com>
Sun, 13 Sep 2020 20:27:51 +0000 (13:27 -0700)
Lib/enum.py
Lib/test/test_enum.py

index 49b552ba0ecf6cc85d91c4348aa5244d33bbcf61..bc24f2ae2dfc012f5f98b72570d930771bc5d350 100644 (file)
@@ -76,7 +76,8 @@ class _EnumDict(dict):
                     '_order_', '_create_pseudo_member_',
                     '_generate_next_value_', '_missing_', '_ignore_',
                     ):
-                raise ValueError('_names_ are reserved for future Enum use')
+                raise ValueError(f'_sunder_ names, such as "{key}", are '
+                                  'reserved for future Enum use')
             if key == '_generate_next_value_':
                 # check if members already defined as auto()
                 if self._auto_called:
index e7bad62406773174231c80c7e21aa78cbecfd16c..b18f3b38a6619f68b906c9b849bbdfbb8bb820b0 100644 (file)
@@ -419,6 +419,11 @@ class TestEnum(unittest.TestCase):
                 green = 2
                 blue = 3
 
+    def test_reserved__sunder_(self):
+        with self.assertRaisesRegex(ValueError, '_sunder_ names, such as '
+                                    '"_bad_", are reserved'):
+            class Bad(Enum):
+                _bad_ = 1
 
     def test_enum_with_value_name(self):
         class Huh(Enum):