Make test_zipfile clean up its temporary files properly.
diff --git a/Lib/test/test_zipfile.py b/Lib/test/test_zipfile.py
index 7957bab..45520b5 100644
--- a/Lib/test/test_zipfile.py
+++ b/Lib/test/test_zipfile.py
@@ -10,6 +10,7 @@
from tempfile import TemporaryFile
from random import randint, random
+import test.test_support as support
from test.test_support import TESTFN, run_unittest
TESTFN2 = TESTFN + "2"
@@ -454,8 +455,6 @@
self.assertEqual(zf.read(filename), content)
zf.close()
- os.unlink(TESTFN)
-
def testCloseErroneousFile(self):
# This test checks that the ZipFile constructor closes the file object
# it opens if there's an error in the file. If it doesn't, the traceback
@@ -469,7 +468,7 @@
try:
zf = zipfile.ZipFile(TESTFN)
except zipfile.BadZipfile:
- os.unlink(TESTFN)
+ pass
def testIsZipErroneousFile(self):
# This test checks that the is_zipfile function correctly identifies
@@ -478,7 +477,6 @@
fp.write("this is not a legal zip file\n")
fp.close()
chk = zipfile.is_zipfile(TESTFN)
- os.unlink(TESTFN)
self.assert_(chk is False)
def testIsZipValidFile(self):
@@ -488,7 +486,6 @@
zipf.writestr("foo.txt", "O, for a Muse of Fire!")
zipf.close()
chk = zipfile.is_zipfile(TESTFN)
- os.unlink(TESTFN)
self.assert_(chk is True)
def testNonExistentFileRaisesIOError(self):
@@ -517,6 +514,10 @@
# version of .testzip would swallow this exception (and any other)
# and report that the first file in the archive was corrupt.
self.assertRaises(RuntimeError, zipf.testzip)
+
+ def tearDown(self):
+ support.unlink(TESTFN)
+ support.unlink(TESTFN2)
class DecryptionTests(unittest.TestCase):
# This test checks that ZIP decryption works. Since the library does not
@@ -567,6 +568,10 @@
fp = open(TESTFN, "wb")
fp.write(self.data)
fp.close()
+
+ def tearDown(self):
+ support.unlink(TESTFN)
+ support.unlink(TESTFN2)
def makeTestArchive(self, f, compression):
# Create the ZIP archive
@@ -799,6 +804,8 @@
def tearDown(self):
for sep, fn in self.arcfiles.items():
os.remove(fn)
+ support.unlink(TESTFN)
+ support.unlink(TESTFN2)
def test_main():
@@ -806,7 +813,5 @@
PyZipFileTests, DecryptionTests, TestsWithMultipleOpens,
UniversalNewlineTests, TestsWithRandomBinaryFiles)
- #run_unittest(TestZip64InSmallFiles)
-
if __name__ == "__main__":
test_main()