From: Victor Stinner Date: Sat, 21 Feb 2026 12:05:35 +0000 (+0100) Subject: gh-141510: Fix test_xpickle for Python 3.14 and older (#145069) X-Git-Tag: v3.15.0a7~196 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2133e16bfe6d0a93c26873e82fd52a27bbf75774;p=thirdparty%2FPython%2Fcpython.git gh-141510: Fix test_xpickle for Python 3.14 and older (#145069) Skip tests on frozendict on Python 3.14 and older. --- diff --git a/Lib/test/pickletester.py b/Lib/test/pickletester.py index 0624b6a02578..6ac4b19da3ea 100644 --- a/Lib/test/pickletester.py +++ b/Lib/test/pickletester.py @@ -2925,9 +2925,13 @@ class AbstractPickleTests: self.assertIs(keys[0].attr, x) def test_recursive_frozendict_in_key(self): + if self.py_version < (3, 15): + self.skipTest('need frozendict') self._test_recursive_collection_in_key(frozendict, minprotocol=2) def test_recursive_frozendict_subclass_in_key(self): + if self.py_version < (3, 15): + self.skipTest('need frozendict') self._test_recursive_collection_in_key(MyFrozenDict) def _test_recursive_collection_in_value(self, factory, minprotocol=0): @@ -2942,9 +2946,13 @@ class AbstractPickleTests: self.assertIs(x['key'][0], x) def test_recursive_frozendict_in_value(self): + if self.py_version < (3, 15): + self.skipTest('need frozendict') self._test_recursive_collection_in_value(frozendict, minprotocol=2) def test_recursive_frozendict_subclass_in_value(self): + if self.py_version < (3, 15): + self.skipTest('need frozendict') self._test_recursive_collection_in_value(MyFrozenDict) def test_recursive_inst_state(self): @@ -3437,6 +3445,8 @@ class AbstractPickleTests: self.skipTest('int and str subclasses are not interoperable with Python 2') if (3, 0) <= self.py_version < (3, 4) and proto < 2 and C in (MyStr, MyUnicode): self.skipTest('str subclasses are not interoperable with Python < 3.4') + if self.py_version < (3, 15) and C == MyFrozenDict: + self.skipTest('frozendict is not available on Python < 3.15') B = C.__base__ x = C(C.sample) x.foo = 42 @@ -3458,6 +3468,8 @@ class AbstractPickleTests: with self.subTest(proto=proto, C=C): if self.py_version < (3, 4) and proto < 3 and C in (MyStr, MyUnicode): self.skipTest('str subclasses are not interoperable with Python < 3.4') + if self.py_version < (3, 15) and C == MyFrozenDict: + self.skipTest('frozendict is not available on Python < 3.15') B = C.__base__ x = C(C.sample) x.foo = 42