]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-46387: test all pickle protos in `test_field_descriptor` in `test_collections...
authorNikita Sobolev <mail@sobolevn.me>
Sun, 16 Jan 2022 04:33:28 +0000 (07:33 +0300)
committerGitHub <noreply@github.com>
Sun, 16 Jan 2022 04:33:28 +0000 (22:33 -0600)
Lib/test/test_collections.py

index 48327bf50ea42384b5268540dbea9237380f5d4b..3a16045c5aa1ae548bae827fc20d9f169e179c89 100644 (file)
@@ -677,14 +677,16 @@ class TestNamedTuple(unittest.TestCase):
         self.assertRaises(AttributeError, Point.x.__set__, p, 33)
         self.assertRaises(AttributeError, Point.x.__delete__, p)
 
-        class NewPoint(tuple):
-            x = pickle.loads(pickle.dumps(Point.x))
-            y = pickle.loads(pickle.dumps(Point.y))
+        for proto in range(pickle.HIGHEST_PROTOCOL + 1):
+            with self.subTest(proto=proto):
+                class NewPoint(tuple):
+                    x = pickle.loads(pickle.dumps(Point.x, proto))
+                    y = pickle.loads(pickle.dumps(Point.y, proto))
 
-        np = NewPoint([1, 2])
+                np = NewPoint([1, 2])
 
-        self.assertEqual(np.x, 1)
-        self.assertEqual(np.y, 2)
+                self.assertEqual(np.x, 1)
+                self.assertEqual(np.y, 2)
 
     def test_new_builtins_issue_43102(self):
         obj = namedtuple('C', ())