Skip to content

Commit 080e554

Browse files
committed
gh-136285: Improve pickle protocol testing in test_interpreters
1 parent 8ac7613 commit 080e554

3 files changed

Lines changed: 20 additions & 12 deletions

File tree

Lib/test/test_interpreters/test_api.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -412,9 +412,11 @@ def test_equality(self):
412412

413413
def test_pickle(self):
414414
interp = interpreters.create()
415-
data = pickle.dumps(interp)
416-
unpickled = pickle.loads(data)
417-
self.assertEqual(unpickled, interp)
415+
for protocol in range(2, pickle.HIGHEST_PROTOCOL + 1):
416+
with self.subTest(protocol=protocol):
417+
data = pickle.dumps(interp, protocol)
418+
unpickled = pickle.loads(data)
419+
self.assertEqual(unpickled, interp)
418420

419421

420422
class TestInterpreterIsRunning(TestBase):

Lib/test/test_interpreters/test_channels.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -121,9 +121,11 @@ def test_equality(self):
121121

122122
def test_pickle(self):
123123
ch, _ = channels.create()
124-
data = pickle.dumps(ch)
125-
unpickled = pickle.loads(data)
126-
self.assertEqual(unpickled, ch)
124+
for protocol in range(2, pickle.HIGHEST_PROTOCOL + 1):
125+
with self.subTest(protocol=protocol):
126+
data = pickle.dumps(ch, protocol)
127+
unpickled = pickle.loads(data)
128+
self.assertEqual(unpickled, ch)
127129

128130

129131
class TestSendChannelAttrs(TestBase):
@@ -152,9 +154,11 @@ def test_equality(self):
152154

153155
def test_pickle(self):
154156
_, ch = channels.create()
155-
data = pickle.dumps(ch)
156-
unpickled = pickle.loads(data)
157-
self.assertEqual(unpickled, ch)
157+
for protocol in range(2, pickle.HIGHEST_PROTOCOL + 1):
158+
with self.subTest(protocol=protocol):
159+
data = pickle.dumps(ch, protocol)
160+
unpickled = pickle.loads(data)
161+
self.assertEqual(unpickled, ch)
158162

159163

160164
class TestSendRecv(TestBase):

Lib/test/test_interpreters/test_queues.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -188,9 +188,11 @@ def test_equality(self):
188188

189189
def test_pickle(self):
190190
queue = queues.create()
191-
data = pickle.dumps(queue)
192-
unpickled = pickle.loads(data)
193-
self.assertEqual(unpickled, queue)
191+
for protocol in range(2, pickle.HIGHEST_PROTOCOL + 1):
192+
with self.subTest(protocol=protocol):
193+
data = pickle.dumps(queue, protocol)
194+
unpickled = pickle.loads(data)
195+
self.assertEqual(unpickled, queue)
194196

195197

196198
class TestQueueOps(TestBase):

0 commit comments

Comments
 (0)