From 2d5890eda62477982361405d3486e57f590c78ae Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Thu, 23 Nov 2017 18:23:37 +0100 Subject: [PATCH] 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 --- Lib/test/test_builtin.py | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) 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} -- 2.50.1