From 356808fe6f452f9e657dd9a03696708a3ef46162 Mon Sep 17 00:00:00 2001 From: Stefan Behnel Date: Fri, 12 Nov 2010 11:59:58 +0100 Subject: [PATCH] test runner: close files immediately after use --- runtests.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/runtests.py b/runtests.py index b8eec3ad..e91a412d 100644 --- a/runtests.py +++ b/runtests.py @@ -316,18 +316,22 @@ class CythonCompileTestCase(unittest.TestCase): source_file = os.path.join(test_directory, module) + '.pyx' source_and_output = codecs.open( self.find_module_source_file(source_file), 'rU', 'ISO-8859-1') - out = codecs.open(os.path.join(workdir, module + '.pyx'), - 'w', 'ISO-8859-1') - for line in source_and_output: - last_line = line - if line.startswith("_ERRORS"): - out.close() - out = ErrorWriter() - else: - out.write(line) + try: + out = codecs.open(os.path.join(workdir, module + '.pyx'), + 'w', 'ISO-8859-1') + for line in source_and_output: + last_line = line + if line.startswith("_ERRORS"): + out.close() + out = ErrorWriter() + else: + out.write(line) + finally: + source_and_output.close() try: geterrors = out.geterrors except AttributeError: + out.close() return [] else: return geterrors() -- 2.26.2