Make test_import a little bit more robust for cleaning up after itself in the

face of a failure.
This commit is contained in:
Brett Cannon 2010-07-03 01:32:48 +00:00
parent e401c6842a
commit 2cab50b937
1 changed files with 8 additions and 6 deletions

View File

@ -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: