]> granicus.if.org Git - python/commitdiff
test_builtin: TestExecFile removes created file (#4525)
authorVictor Stinner <victor.stinner@gmail.com>
Thu, 23 Nov 2017 17:23:37 +0000 (18:23 +0100)
committerGitHub <noreply@github.com>
Thu, 23 Nov 2017 17:23:37 +0000 (18:23 +0100)
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

index c9347e96aa1f34e7420845594d59058b10d54168..5396838f3d26be17ee38fcef9a37b2cb80382a2d 100644 (file)
@@ -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}