From 2cab50b9378731cb64ecb5aa21f72a36e0a7bde3 Mon Sep 17 00:00:00 2001 From: Brett Cannon Date: Sat, 3 Jul 2010 01:32:48 +0000 Subject: Make test_import a little bit more robust for cleaning up after itself in the face of a failure. --- Lib/test/test_import.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) 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 @@ class ImportTests(unittest.TestCase): 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: -- cgit v0.12