]> granicus.if.org Git - python/commitdiff
backout fafac90b69c4
authorBenjamin Peterson <benjamin@python.org>
Sun, 16 Feb 2014 19:52:01 +0000 (14:52 -0500)
committerBenjamin Peterson <benjamin@python.org>
Sun, 16 Feb 2014 19:52:01 +0000 (14:52 -0500)
Lib/test/regrtest.py
Lib/test/test_pkgutil.py

index ca4d820ebfd00933c15ac763e908f63ea6b947e9..ae62c6e7a0f1851c33a4fa051bf2c047a6e394f4 100755 (executable)
@@ -1318,10 +1318,9 @@ def dash_R(the_module, test, indirect_test, huntrleaks):
     try:
         import zipimport
     except ImportError:
-        zsc = zdc = None # Run unmodified on platforms without zipimport support
+        zdc = None # Run unmodified on platforms without zipimport support
     else:
         zdc = zipimport._zip_directory_cache.copy()
-        zsc = zipimport._zip_stat_cache.copy()
     abcs = {}
     for abc in [getattr(collections.abc, a) for a in collections.abc.__all__]:
         if not isabstract(abc):
@@ -1344,13 +1343,13 @@ def dash_R(the_module, test, indirect_test, huntrleaks):
     print("beginning", repcount, "repetitions", file=sys.stderr)
     print(("1234567890"*(repcount//10 + 1))[:repcount], file=sys.stderr)
     sys.stderr.flush()
-    dash_R_cleanup(fs, ps, pic, zdc, zsc, abcs)
+    dash_R_cleanup(fs, ps, pic, zdc, abcs)
     for i in range(repcount):
         rc_before = sys.gettotalrefcount()
         run_the_test()
         sys.stderr.write('.')
         sys.stderr.flush()
-        dash_R_cleanup(fs, ps, pic, zdc, zsc, abcs)
+        dash_R_cleanup(fs, ps, pic, zdc, abcs)
         rc_after = sys.gettotalrefcount()
         if i >= nwarmup:
             deltas.append(rc_after - rc_before)
@@ -1365,7 +1364,7 @@ def dash_R(the_module, test, indirect_test, huntrleaks):
         return True
     return False
 
-def dash_R_cleanup(fs, ps, pic, zdc, zsc, abcs):
+def dash_R_cleanup(fs, ps, pic, zdc, abcs):
     import gc, copyreg
     import _strptime, linecache
     import urllib.parse, urllib.request, mimetypes, doctest
@@ -1391,8 +1390,6 @@ def dash_R_cleanup(fs, ps, pic, zdc, zsc, abcs):
     else:
         zipimport._zip_directory_cache.clear()
         zipimport._zip_directory_cache.update(zdc)
-        zipimport._zip_stat_cache.clear()
-        zipimport._zip_stat_cache.update(zsc)
 
     # clear type cache
     sys._clear_type_cache()
index 0db4fc6178d5006c88137564bc5d136512a2873b..fd0661450ad3bc5fd98c5b54dace7fc3d1aaf182 100644 (file)
@@ -338,6 +338,11 @@ class ImportlibMigrationTests(unittest.TestCase):
 def test_main():
     run_unittest(PkgutilTests, PkgutilPEP302Tests, ExtendPathTests,
                  NestedNamespacePackageTest, ImportlibMigrationTests)
+    # this is necessary if test is run repeated (like when finding leaks)
+    import zipimport
+    import importlib
+    zipimport._zip_directory_cache.clear()
+    importlib.invalidate_caches()
 
 
 if __name__ == '__main__':