From 8f58db2279a97d826e5bfa99627ba9bb66f6f096 Mon Sep 17 00:00:00 2001 From: Ethan Furman Date: Tue, 30 Aug 2022 12:39:03 -0700 Subject: [3.11] [Enum] fix check in _test_simple_enum (GH-96435) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- Lib/enum.py | 2 +- Lib/test/test_enum.py | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Lib/enum.py b/Lib/enum.py index 63ca160..28b638c 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 4a42c73..7964d3e 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( -- cgit v0.12