(self)
| 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) |
nothing calls this directly
no test coverage detected