From: Ethan Furman Date: Tue, 30 Aug 2022 19:39:03 +0000 (-0700) Subject: [3.11] [Enum] fix check in _test_simple_enum (GH-96435) X-Git-Tag: v3.11.0rc2~41 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8f58db2279a97d826e5bfa99627ba9bb66f6f096;p=thirdparty%2FPython%2Fcpython.git [3.11] [Enum] fix check in _test_simple_enum (GH-96435) The builtin `property` is not a callable, so was failing the check in `_test_simple_enum` causing a match failure; this adds `property` to the bypass list. Co-authored-by: Alexandru Mărășteanu --- diff --git a/Lib/enum.py b/Lib/enum.py index 63ca1605353a..28b638c28f17 100644 --- a/Lib/enum.py +++ b/Lib/enum.py @@ -1904,7 +1904,7 @@ def _test_simple_enum(checked_enum, simple_enum): else: checked_value = checked_dict[key] simple_value = simple_dict[key] - if callable(checked_value): + if callable(checked_value) or isinstance(checked_value, bltns.property): continue if key == '__doc__': # remove all spaces/tabs diff --git a/Lib/test/test_enum.py b/Lib/test/test_enum.py index 4a42c7381721..7964d3e474cd 100644 --- a/Lib/test/test_enum.py +++ b/Lib/test/test_enum.py @@ -4337,10 +4337,16 @@ class TestStdLib(unittest.TestCase): CYAN = 1 MAGENTA = 2 YELLOW = 3 + @bltns.property + def zeroth(self): + return 'zeroed %s' % self.name class CheckedColor(Enum): CYAN = 1 MAGENTA = 2 YELLOW = 3 + @bltns.property + def zeroth(self): + return 'zeroed %s' % self.name self.assertTrue(_test_simple_enum(CheckedColor, SimpleColor) is None) SimpleColor.MAGENTA._value_ = 9 self.assertRaisesRegex(