]> granicus.if.org Git - python/commitdiff
Issue #22390: test.regrtest now emits a warning if temporary files or
authorSerhiy Storchaka <storchaka@gmail.com>
Sun, 29 Mar 2015 22:28:02 +0000 (01:28 +0300)
committerSerhiy Storchaka <storchaka@gmail.com>
Sun, 29 Mar 2015 22:28:02 +0000 (01:28 +0300)
directories are left after running a test.

Lib/test/regrtest.py
Misc/NEWS

index b633631b00d9a21e7658fec50c1a575719ef2b1b..350e6849ee618c8e0f5d402b0e7284837363677d 100755 (executable)
@@ -1031,7 +1031,7 @@ class saved_test_environment:
                  # to a thread, so check processes first.
                  'multiprocessing.process._dangling', 'threading._dangling',
                  'sysconfig._CONFIG_VARS', 'sysconfig._INSTALL_SCHEMES',
-                 'support.TESTFN', 'locale', 'warnings.showwarning',
+                 'files', 'locale', 'warnings.showwarning',
                 )
 
     def get_sys_argv(self):
@@ -1187,20 +1187,16 @@ class saved_test_environment:
         sysconfig._INSTALL_SCHEMES.clear()
         sysconfig._INSTALL_SCHEMES.update(saved[2])
 
-    def get_support_TESTFN(self):
-        if os.path.isfile(support.TESTFN):
-            result = 'f'
-        elif os.path.isdir(support.TESTFN):
-            result = 'd'
-        else:
-            result = None
-        return result
-    def restore_support_TESTFN(self, saved_value):
-        if saved_value is None:
-            if os.path.isfile(support.TESTFN):
-                os.unlink(support.TESTFN)
-            elif os.path.isdir(support.TESTFN):
-                shutil.rmtree(support.TESTFN)
+    def get_files(self):
+        return sorted(fn + ('/' if os.path.isdir(fn) else '')
+                      for fn in os.listdir())
+    def restore_files(self, saved_value):
+        fn = support.TESTFN
+        if fn not in saved_value and (fn + '/') not in saved_value:
+            if os.path.isfile(fn):
+                support.unlink(fn)
+            elif os.path.isdir(fn):
+                support.rmtree(fn)
 
     _lc = [getattr(locale, lc) for lc in dir(locale)
            if lc.startswith('LC_')]
index 48d1801b0c1bacb65e1385d27a2627daaa52367a..b80cbe25f94d8e57f2997a37cef9ee72330ee67b 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -130,6 +130,9 @@ Library
 Tests
 -----
 
+- Issue #22390: test.regrtest now emits a warning if temporary files or
+  directories are left after running a test.
+
 - Issue #23583: Added tests for standard IO streams in IDLE.
 
 Build