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

Method test_huge_str_64b

Lib/test/pickletester.py:4746–4770  ·  view source on GitHub ↗
(self, size)

Source from the content-addressed store, hash-verified

4744
4745 @bigmemtest(size=_4G, memuse=8, dry_run=False)
4746 def test_huge_str_64b(self, size):
4747 data = "abcd" * (size // 4)
4748 try:
4749 for proto in protocols:
4750 if proto == 0:
4751 continue
4752 with self.subTest(proto=proto):
4753 if proto < 4:
4754 with self.assertRaises((ValueError, OverflowError)):
4755 self.dumps(data, protocol=proto)
4756 continue
4757 try:
4758 pickled = self.dumps(data, protocol=proto)
4759 header = (pickle.BINUNICODE8 +
4760 struct.pack("<Q", len(data)))
4761 data_start = pickled.index(b'abcd')
4762 self.assertEqual(
4763 header,
4764 pickled[data_start-len(header):data_start])
4765 self.assertEqual((pickled.rindex(b"abcd") + len(b"abcd") -
4766 pickled.index(b"abcd")), len(data))
4767 finally:
4768 pickled = None
4769 finally:
4770 data = None
4771
4772
4773class CustomError(Exception):

Callers

nothing calls this directly

Calls 7

subTestMethod · 0.45
assertRaisesMethod · 0.45
dumpsMethod · 0.45
packMethod · 0.45
indexMethod · 0.45
assertEqualMethod · 0.45
rindexMethod · 0.45

Tested by

no test coverage detected