New test code failed to close the file. This caused
test_file to fail on Windows in reality (can't delete
a still-open file), but a new bare "except:" hid that
test_file failed on Windows, and leaving behind the
still-open TESTFN caused a cascade of bogus failures
in later tests.
So, close the file, and stop hiding failure to unlink.
diff --git a/Lib/test/test_file.py b/Lib/test/test_file.py
index 69501df..efb06f4 100644
--- a/Lib/test/test_file.py
+++ b/Lib/test/test_file.py
@@ -323,18 +323,17 @@
"failed. Got %r, expected %r" % (line, testline))
# Reading after iteration hit EOF shouldn't hurt either
f = open(TESTFN)
- for line in f:
- pass
try:
- f.readline()
- f.readinto(buf)
- f.read()
- f.readlines()
- except ValueError:
- raise TestFailed("read* failed after next() consumed file")
+ for line in f:
+ pass
+ try:
+ f.readline()
+ f.readinto(buf)
+ f.read()
+ f.readlines()
+ except ValueError:
+ raise TestFailed("read* failed after next() consumed file")
+ finally:
+ f.close()
finally:
- # Bare 'except' so as not to mask errors in the test
- try:
- os.unlink(TESTFN)
- except:
- pass
+ os.unlink(TESTFN)