MCPcopy Index your code
hub / github.com/python/cpython / test_singletons

Method test_singletons

Lib/test/pickletester.py:3399–3422  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

3397 self.assertTrue(opcode_in_pickle(expected, s))
3398
3399 def test_singletons(self):
3400 # Map (proto, singleton) to expected opcode.
3401 expected_opcode = {(0, None): pickle.NONE,
3402 (1, None): pickle.NONE,
3403 (2, None): pickle.NONE,
3404 (3, None): pickle.NONE,
3405
3406 (0, True): pickle.INT,
3407 (1, True): pickle.INT,
3408 (2, True): pickle.NEWTRUE,
3409 (3, True): pickle.NEWTRUE,
3410
3411 (0, False): pickle.INT,
3412 (1, False): pickle.INT,
3413 (2, False): pickle.NEWFALSE,
3414 (3, False): pickle.NEWFALSE,
3415 }
3416 for proto in protocols:
3417 for x in None, False, True:
3418 s = self.dumps(x, proto)
3419 y = self.loads(s)
3420 self.assertTrue(x is y, (proto, x, s, y))
3421 expected = expected_opcode[min(proto, 3), x]
3422 self.assertTrue(opcode_in_pickle(expected, s))
3423
3424 def test_newobj_tuple(self):
3425 x = MyTuple([1, 2, 3])

Callers

nothing calls this directly

Calls 4

opcode_in_pickleFunction · 0.85
assertTrueMethod · 0.80
dumpsMethod · 0.45
loadsMethod · 0.45

Tested by

no test coverage detected