[Python-checkins] CVS: python/dist/src/Lib/test test_zipfile.py,1.2,1.3
Fred L. Drake
fdrake@users.sourceforge.net
Tue, 27 Feb 2001 21:34:18 -0800
Update of /cvsroot/python/python/dist/src/Lib/test
In directory usw-pr-cvs1:/tmp/cvs-serv28430/test
Modified Files:
test_zipfile.py
Log Message:
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!
Index: test_zipfile.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_zipfile.py,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** test_zipfile.py 2000/10/23 17:22:08 1.2
--- test_zipfile.py 2001/02/28 05:34:16 1.3
***************
*** 1,3 ****
--- 1,4 ----
import zipfile, os
+ from test_support import TestFailed
srcname = "junk9630.tmp"
***************
*** 24,25 ****
--- 25,44 ----
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.")