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

Method testMoreThan64kFilesAppend

Lib/test/test_zipfile64.py:107–137  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

105 self.assertEqual(content, "%d" % (i**3 % 57))
106
107 def testMoreThan64kFilesAppend(self):
108 with zipfile.ZipFile(TESTFN, mode="w", allowZip64=False) as zipf:
109 zipf.debug = 100
110 numfiles = (1 << 16) - 1
111 for i in range(numfiles):
112 zipf.writestr("foo%08d" % i, "%d" % (i**3 % 57))
113 self.assertEqual(len(zipf.namelist()), numfiles)
114 with self.assertRaises(zipfile.LargeZipFile):
115 zipf.writestr("foo%08d" % numfiles, b'')
116 self.assertEqual(len(zipf.namelist()), numfiles)
117
118 with zipfile.ZipFile(TESTFN, mode="a", allowZip64=False) as zipf:
119 zipf.debug = 100
120 self.assertEqual(len(zipf.namelist()), numfiles)
121 with self.assertRaises(zipfile.LargeZipFile):
122 zipf.writestr("foo%08d" % numfiles, b'')
123 self.assertEqual(len(zipf.namelist()), numfiles)
124
125 with zipfile.ZipFile(TESTFN, mode="a", allowZip64=True) as zipf:
126 zipf.debug = 100
127 self.assertEqual(len(zipf.namelist()), numfiles)
128 numfiles2 = (1 << 16) * 3//2
129 for i in range(numfiles, numfiles2):
130 zipf.writestr("foo%08d" % i, "%d" % (i**3 % 57))
131 self.assertEqual(len(zipf.namelist()), numfiles2)
132
133 with zipfile.ZipFile(TESTFN, mode="r") as zipf2:
134 self.assertEqual(len(zipf2.namelist()), numfiles2)
135 for i in range(numfiles2):
136 content = zipf2.read("foo%08d" % i).decode('ascii')
137 self.assertEqual(content, "%d" % (i**3 % 57))
138
139 def tearDown(self):
140 os_helper.unlink(TESTFN)

Callers

nothing calls this directly

Calls 6

writestrMethod · 0.80
assertEqualMethod · 0.45
namelistMethod · 0.45
assertRaisesMethod · 0.45
decodeMethod · 0.45
readMethod · 0.45

Tested by

no test coverage detected