From: Victor Stinner Date: Thu, 23 Nov 2017 17:23:37 +0000 (+0100) Subject: test_builtin: TestExecFile removes created file (#4525) X-Git-Tag: v2.7.15rc1~119 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2d5890eda62477982361405d3486e57f590c78ae;p=python test_builtin: TestExecFile removes created file (#4525) Fix the following warning: Warning -- files was modified by test_builtin Before: [] After: ['@test_19422_tmp'] 1 test altered the execution environment: test_builtin --- diff --git a/Lib/test/test_builtin.py b/Lib/test/test_builtin.py index c9347e96aa..5396838f3d 100644 --- a/Lib/test/test_builtin.py +++ b/Lib/test/test_builtin.py @@ -1593,18 +1593,28 @@ class BuiltinTest(unittest.TestCase): self.assertRaises(ValueError, x.translate, "1", 1) self.assertRaises(TypeError, x.translate, "1"*256, 1) + +def create_exec_script(filename): + with open(filename, 'w') as f: + f.write('z = z+1\n') + f.write('z = z*2\n') + + class TestExecFile(unittest.TestCase): # Done outside of the method test_z to get the correct scope z = 0 - f = open(TESTFN, 'w') - f.write('z = z+1\n') - f.write('z = z*2\n') - f.close() - with check_py3k_warnings(("execfile.. not supported in 3.x", - DeprecationWarning)): - execfile(TESTFN) + try: + create_exec_script(TESTFN) + with check_py3k_warnings(("execfile.. not supported in 3.x", + DeprecationWarning)): + execfile(TESTFN) + finally: + unlink(TESTFN) def test_execfile(self): + self.addCleanup(unlink, TESTFN) + create_exec_script(TESTFN) + globals = {'a': 1, 'b': 2} locals = {'b': 200, 'c': 300}