Index: Lib/test/test_zipfile.py =================================================================== --- Lib/test/test_zipfile.py (revision 81666) +++ Lib/test/test_zipfile.py (working copy) @@ -114,20 +114,20 @@ # Read the ZIP archive with zipfile.ZipFile(f, "r", compression) as zipfp: zipdata1 = [] - zipopen1 = zipfp.open(TESTFN) - while True: - read_data = zipopen1.read(256) - if not read_data: - break - zipdata1.append(read_data) + with zipfp.open(TESTFN) as zipopen1: + while True: + read_data = zipopen1.read(256) + if not read_data: + break + zipdata1.append(read_data) zipdata2 = [] - zipopen2 = zipfp.open("another.name") - while True: - read_data = zipopen2.read(256) - if not read_data: - break - zipdata2.append(read_data) + with zipfp.open("another.name") as zipopen2: + while True: + read_data = zipopen2.read(256) + if not read_data: + break + zipdata2.append(read_data) self.assertEqual(''.join(zipdata1), self.data) self.assertEqual(''.join(zipdata2), self.data) @@ -146,7 +146,8 @@ infos = zipfp.infolist() data = "" for info in infos: - data += zipfp.open(info).read() + with zipfp.open(info) as zipopen: + data += zipopen.read() self.assertTrue(data == "foobar" or data == "barfoo") data = "" for info in infos: @@ -159,12 +160,12 @@ # Read the ZIP archive with zipfile.ZipFile(f, "r", compression) as zipfp: zipdata1 = [] - zipopen1 = zipfp.open(TESTFN) - while True: - read_data = zipopen1.read(randint(1, 1024)) - if not read_data: - break - zipdata1.append(read_data) + with zipfp.open(TESTFN) as zipopen1: + while True: + read_data = zipopen1.read(randint(1, 1024)) + if not read_data: + break + zipdata1.append(read_data) self.assertEqual(''.join(zipdata1), self.data) @@ -182,10 +183,9 @@ data2 = '' zipfp = zipfile.ZipFile(f, 'r') - zipopen = zipfp.open(TESTFN, 'rU') - for line in zipopen: - data2 += line - zipfp.close() + with zipfp.open(TESTFN, 'rU') as zipopen: + for line in zipopen: + data2 += line self.assertEqual(data, data2.replace('\n', '\r\n')) @@ -194,21 +194,21 @@ # Read the ZIP archive zipfp = zipfile.ZipFile(f, "r") - zipopen = zipfp.open(TESTFN) + with zipfp.open(TESTFN) as zipopen: + data = '' + while True: + read = zipopen.readline() + if not read: + break + data += read - data = '' - while True: - read = zipopen.readline() - if not read: - break - data += read + read = zipopen.read(100) + if not read: + break + data += read - read = zipopen.read(100) - if not read: - break - data += read + self.assertEqual(data, self.data) - self.assertEqual(data, self.data) zipfp.close() def zip_readline_test(self, f, compression): @@ -216,10 +216,10 @@ # Read the ZIP archive with zipfile.ZipFile(f, "r") as zipfp: - zipopen = zipfp.open(TESTFN) - for line in self.line_gen: - linedata = zipopen.readline() - self.assertEqual(linedata, line + '\n') + with zipfp.open(TESTFN) as zipopen: + for line in self.line_gen: + linedata = zipopen.readline() + self.assertEqual(linedata, line + '\n') def zip_readlines_test(self, f, compression): self.make_test_archive(f, compression) @@ -300,9 +300,9 @@ # Get an open object for strfile with zipfile.ZipFile(TESTFN2, "r", zipfile.ZIP_DEFLATED) as zipfp: - openobj = zipfp.open("strfile") - self.assertEqual(openobj.read(1), '1') - self.assertEqual(openobj.read(1), '2') + with zipfp.open("strfile") as openobj: + self.assertEqual(openobj.read(1), '1') + self.assertEqual(openobj.read(1), '2') def test_absolute_arcnames(self): with zipfile.ZipFile(TESTFN2, "w", zipfile.ZIP_STORED) as zipfp: @@ -798,10 +798,11 @@ with zipfile.ZipFile(TESTFN, mode="w") as zipf: zipf.writestr("foo.txt", "O, for a Muse of Fire!") # read the data to make sure the file is there - f = zipf.open("foo.txt") - for i in xrange(FIXEDTEST_SIZE): - self.assertEqual(f.read(0), '') + with zipf.open("foo.txt") as f: + for i in xrange(FIXEDTEST_SIZE): + self.assertEqual(f.read(0), '') + self.assertEqual(f.read(), "O, for a Muse of Fire!") def test_open_non_existent_item(self): @@ -969,20 +970,20 @@ # Read the ZIP archive with zipfile.ZipFile(f, "r", compression) as zipfp: zipdata1 = [] - zipopen1 = zipfp.open(TESTFN) - while True: - read_data = zipopen1.read(256) - if not read_data: - break - zipdata1.append(read_data) + with zipfp.open(TESTFN) as zipopen1: + while True: + read_data = zipopen1.read(256) + if not read_data: + break + zipdata1.append(read_data) zipdata2 = [] - zipopen2 = zipfp.open("another.name") - while True: - read_data = zipopen2.read(256) - if not read_data: - break - zipdata2.append(read_data) + with zipfp.open("another.name") as zipopen2: + while True: + read_data = zipopen2.read(256) + if not read_data: + break + zipdata2.append(read_data) testdata1 = ''.join(zipdata1) self.assertEqual(len(testdata1), len(self.data)) @@ -1002,12 +1003,12 @@ # Read the ZIP archive with zipfile.ZipFile(f, "r", compression) as zipfp: zipdata1 = [] - zipopen1 = zipfp.open(TESTFN) - while True: - read_data = zipopen1.read(randint(1, 1024)) - if not read_data: - break - zipdata1.append(read_data) + with zipfp.open(TESTFN) as zipopen1: + while True: + read_data = zipopen1.read(randint(1, 1024)) + if not read_data: + break + zipdata1.append(read_data) testdata = ''.join(zipdata1) self.assertEqual(len(testdata), len(self.data)) @@ -1030,39 +1031,39 @@ # Verify that (when the ZipFile is in control of creating file objects) # multiple open() calls can be made without interfering with each other. with zipfile.ZipFile(TESTFN2, mode="r") as zipf: - zopen1 = zipf.open('ones') - zopen2 = zipf.open('ones') - data1 = zopen1.read(500) - data2 = zopen2.read(500) - data1 += zopen1.read(500) - data2 += zopen2.read(500) - self.assertEqual(data1, data2) + with zipf.open('ones') as zopen1: + with zipf.open('ones') as zopen2: + data1 = zopen1.read(500) + data2 = zopen2.read(500) + data1 += zopen1.read(500) + data2 += zopen2.read(500) + self.assertEqual(data1, data2) def test_different_file(self): # Verify that (when the ZipFile is in control of creating file objects) # multiple open() calls can be made without interfering with each other. with zipfile.ZipFile(TESTFN2, mode="r") as zipf: - zopen1 = zipf.open('ones') - zopen2 = zipf.open('twos') - data1 = zopen1.read(500) - data2 = zopen2.read(500) - data1 += zopen1.read(500) - data2 += zopen2.read(500) - self.assertEqual(data1, '1'*FIXEDTEST_SIZE) - self.assertEqual(data2, '2'*FIXEDTEST_SIZE) + with zipf.open('ones') as zopen1: + with zipf.open('twos') as zopen2: + data1 = zopen1.read(500) + data2 = zopen2.read(500) + data1 += zopen1.read(500) + data2 += zopen2.read(500) + self.assertEqual(data1, '1'*FIXEDTEST_SIZE) + self.assertEqual(data2, '2'*FIXEDTEST_SIZE) def test_interleaved(self): # Verify that (when the ZipFile is in control of creating file objects) # multiple open() calls can be made without interfering with each other. with zipfile.ZipFile(TESTFN2, mode="r") as zipf: - zopen1 = zipf.open('ones') - data1 = zopen1.read(500) - zopen2 = zipf.open('twos') - data2 = zopen2.read(500) - data1 += zopen1.read(500) - data2 += zopen2.read(500) - self.assertEqual(data1, '1'*FIXEDTEST_SIZE) - self.assertEqual(data2, '2'*FIXEDTEST_SIZE) + with zipf.open('ones') as zopen1: + data1 = zopen1.read(500) + with zipf.open('twos') as zopen2: + data2 = zopen2.read(500) + data1 += zopen1.read(500) + data2 += zopen2.read(500) + self.assertEqual(data1, '1'*FIXEDTEST_SIZE) + self.assertEqual(data2, '2'*FIXEDTEST_SIZE) def tearDown(self): unlink(TESTFN2) @@ -1119,8 +1120,8 @@ # Read the ZIP archive with zipfile.ZipFile(f, "r") as zipfp: for sep, fn in self.arcfiles.items(): - zipdata = zipfp.open(fn, "rU").read() - self.assertEqual(self.arcdata[sep], zipdata) + with zipfp.open(fn, "rU") as zipopen: + self.assertEqual(self.arcdata[sep], zipopen.read()) def readline_read_test(self, f, compression): self.make_test_archive(f, compression) @@ -1128,18 +1129,18 @@ # Read the ZIP archive zipfp = zipfile.ZipFile(f, "r") for sep, fn in self.arcfiles.items(): - zipopen = zipfp.open(fn, "rU") data = '' - while True: - read = zipopen.readline() - if not read: - break - data += read + with zipfp.open(fn, "rU") as zipopen: + while True: + read = zipopen.readline() + if not read: + break + data += read - read = zipopen.read(5) - if not read: - break - data += read + read = zipopen.read(5) + if not read: + break + data += read self.assertEqual(data, self.arcdata['\n']) @@ -1151,10 +1152,10 @@ # Read the ZIP archive with zipfile.ZipFile(f, "r") as zipfp: for sep, fn in self.arcfiles.items(): - zipopen = zipfp.open(fn, "rU") - for line in self.line_gen: - linedata = zipopen.readline() - self.assertEqual(linedata, line + '\n') + with zipfp.open(fn, "rU") as zipopen: + for line in self.line_gen: + linedata = zipopen.readline() + self.assertEqual(linedata, line + '\n') def readlines_test(self, f, compression): self.make_test_archive(f, compression)