Make test_import a little bit more robust for cleaning up after itself in the
face of a failure.
diff --git a/Lib/test/test_import.py b/Lib/test/test_import.py
index 512759d..929caa6 100644
--- a/Lib/test/test_import.py
+++ b/Lib/test/test_import.py
@@ -147,22 +147,24 @@
filename = module + '.py'
# Create a file with a list of 65000 elements.
- with open(filename, 'w+') as f:
+ with open(filename, 'w') as f:
f.write('d = [\n')
for i in range(65000):
f.write('"",\n')
f.write(']')
- # Compile & remove .py file; we only need .pyc (or .pyo).
- # Bytecode must be relocated from the PEP 3147 bytecode-only location.
- py_compile.compile(filename)
- unlink(filename)
- make_legacy_pyc(filename)
+ try:
+ # Compile & remove .py file; we only need .pyc (or .pyo).
+ # Bytecode must be relocated from the PEP 3147 bytecode-only location.
+ py_compile.compile(filename)
+ finally:
+ unlink(filename)
# Need to be able to load from current dir.
sys.path.append('')
try:
+ make_legacy_pyc(filename)
# This used to crash.
exec('import ' + module)
finally: