Kaydet (Commit) 6e7e485d authored tarafından Fred Drake's avatar Fred Drake

Added regression test for SF tracker bug #403871: AttributeError in

    ZipFile.__del__() when there was an IOError opening the underlying
    file in ZipFile.__init__().

    This is an odd test: since the exception is in the __del__() method,
    it is not propogated.  This test will trigger it but regrtest.py
    does not detect the failure (not sure why); we are dependent on it
    actually being noticed by a user to get a new bug report if it ever
    fails.  ;-(

    On the other hand, this makes sure that code gets exercised, so
    a failure could be noticed!
üst 90eac285
import zipfile, os
from test_support import TestFailed
srcname = "junk9630.tmp"
zipname = "junk9708.tmp"
......@@ -23,3 +24,21 @@ finally:
os.unlink(srcname)
if os.path.isfile(zipname):
os.unlink(zipname)
# make sure we don't raise an AttributeError when a partially-constructed
# ZipFile instance is finalized; this tests for regression on SF tracker
# bug #403871.
try:
zipfile.ZipFile(srcname)
except IOError:
# The bug we're testing for caused an AttributeError to be raised
# when a ZipFile instance was created for a file that did not
# exist; the .fp member was not initialized but was needed by the
# __del__() method. Since the AttributeError is in the __del__(),
# it is ignored, but the user should be sufficiently annoyed by
# the message on the output that regression will be noticed
# quickly.
pass
else:
raise TestFailed("expected creation of readable ZipFile without\n"
" a file to raise an IOError.")
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment