summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorZackery Spytz <zspytz@gmail.com>2020-09-13 20:27:51 (GMT)
committerGitHub <noreply@github.com>2020-09-13 20:27:51 (GMT)
commit2ec67526a6ed3312f4fac22b527ca0ff161531b8 (patch)
tree80330b2c06b33ea9bd6a070a49053dee09a2ef51 /Lib
parentb48389d95093c3f912549add8da339edc164bf0d (diff)
downloadcpython-2ec67526a6ed3312f4fac22b527ca0ff161531b8.zip
cpython-2ec67526a6ed3312f4fac22b527ca0ff161531b8.tar.gz
cpython-2ec67526a6ed3312f4fac22b527ca0ff161531b8.tar.bz2
bpo-38967: Improve the error msg for reserved _sunder_ names in enum (GH-18370)
Diffstat (limited to 'Lib')
-rw-r--r--Lib/enum.py3
-rw-r--r--Lib/test/test_enum.py5
2 files changed, 7 insertions, 1 deletions
diff --git a/Lib/enum.py b/Lib/enum.py
index 49b552b..bc24f2a 100644
--- a/Lib/enum.py
+++ b/Lib/enum.py
@@ -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:
diff --git a/Lib/test/test_enum.py b/Lib/test/test_enum.py
index e7bad62..b18f3b3 100644
--- a/Lib/test/test_enum.py
+++ b/Lib/test/test_enum.py
@@ -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):