summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_enum.py
diff options
context:
space:
mode:
authorEthan Furman <ethan@stoneleaf.us>2021-06-10 22:52:09 (GMT)
committerGitHub <noreply@github.com>2021-06-10 22:52:09 (GMT)
commit62f1d2b3d7dda99598d053e10b785c463fdcf591 (patch)
treeca0da643fcceb26b1ed655b190794e47b6abbd00 /Lib/test/test_enum.py
parent05073036dcecefc00b0c3e7397601809da41e2f1 (diff)
downloadcpython-62f1d2b3d7dda99598d053e10b785c463fdcf591.zip
cpython-62f1d2b3d7dda99598d053e10b785c463fdcf591.tar.gz
cpython-62f1d2b3d7dda99598d053e10b785c463fdcf591.tar.bz2
bpo-44342: [Enum] changed pickling from by-value to by-name (GH-26658)
by-value lookups could fail on complex enums, necessitating a check for __reduce__ and possibly sabotaging the final enum; by-name lookups should never fail, and sabotaging is no longer necessary for class-based enum creation.
Diffstat (limited to 'Lib/test/test_enum.py')
-rw-r--r--Lib/test/test_enum.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/Lib/test/test_enum.py b/Lib/test/test_enum.py
index 40794e3..9a7882b 100644
--- a/Lib/test/test_enum.py
+++ b/Lib/test/test_enum.py
@@ -830,7 +830,7 @@ class TestEnum(unittest.TestCase):
class ReplaceGlobalInt(IntEnum):
ONE = 1
TWO = 2
- ReplaceGlobalInt.__reduce_ex__ = enum._reduce_ex_by_name
+ ReplaceGlobalInt.__reduce_ex__ = enum._reduce_ex_by_global_name
for proto in range(HIGHEST_PROTOCOL):
self.assertEqual(ReplaceGlobalInt.TWO.__reduce_ex__(proto), 'TWO')
@@ -1527,10 +1527,10 @@ class TestEnum(unittest.TestCase):
NI5 = NamedInt('test', 5)
self.assertEqual(NI5, 5)
self.assertEqual(NEI.y.value, 2)
- test_pickle_exception(self.assertRaises, TypeError, NEI.x)
- test_pickle_exception(self.assertRaises, PicklingError, NEI)
+ test_pickle_dump_load(self.assertIs, NEI.y)
+ test_pickle_dump_load(self.assertIs, NEI)
- def test_subclasses_without_direct_pickle_support_using_name(self):
+ def test_subclasses_with_direct_pickle_support(self):
class NamedInt(int):
__qualname__ = 'NamedInt'
def __new__(cls, *args):