From: Stefan Behnel Date: Fri, 12 Nov 2010 10:59:58 +0000 (+0100) Subject: test runner: close files immediately after use X-Git-Tag: 0.14.alpha0~173 X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=356808fe6f452f9e657dd9a03696708a3ef46162;p=cython.git test runner: close files immediately after use --- 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()