]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.12] gh-128615: Cover pickling of `ParamSpecArgs` and `ParamSpecKwargs` (GH-128616...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Wed, 8 Jan 2025 12:25:59 +0000 (13:25 +0100)
committerGitHub <noreply@github.com>
Wed, 8 Jan 2025 12:25:59 +0000 (12:25 +0000)
Co-authored-by: sobolevn <mail@sobolevn.me>
Lib/test/test_typing.py

index c1057dc38873789a6156ba42a30d99d88df1a055..c5f4d775f22fb645442da025b89442be57a7c11f 100644 (file)
@@ -4838,6 +4838,18 @@ class GenericTests(BaseTestCase):
                 x = pickle.loads(z)
                 self.assertEqual(s, x)
 
+        # Test ParamSpec args and kwargs
+        global PP
+        PP = ParamSpec('PP')
+        for thing in [PP.args, PP.kwargs]:
+            for proto in range(pickle.HIGHEST_PROTOCOL + 1):
+                with self.subTest(thing=thing, proto=proto):
+                    self.assertEqual(
+                        pickle.loads(pickle.dumps(thing, proto)),
+                        thing,
+                    )
+        del PP
+
     def test_copy_and_deepcopy(self):
         T = TypeVar('T')
         class Node(Generic[T]): ...