diff options
Diffstat (limited to 'Lib/test/regrtest.py')
-rwxr-xr-x | Lib/test/regrtest.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py index 21709f7032..da66c8feb1 100755 --- a/Lib/test/regrtest.py +++ b/Lib/test/regrtest.py @@ -1002,9 +1002,10 @@ def dash_R(the_module, test, indirect_test, huntrleaks): try: import zipimport except ImportError: - zdc = None # Run unmodified on platforms without zipimport support + zsc = zdc = None # Run unmodified on platforms without zipimport support else: zdc = zipimport._zip_directory_cache.copy() + zsc = zipimport._zip_stat_cache.copy() abcs = {} modules = _abcoll, _pyio for abc in [getattr(mod, a) for mod in modules for a in mod.__all__]: @@ -1027,12 +1028,12 @@ def dash_R(the_module, test, indirect_test, huntrleaks): repcount = nwarmup + ntracked print >> sys.stderr, "beginning", repcount, "repetitions" print >> sys.stderr, ("1234567890"*(repcount//10 + 1))[:repcount] - dash_R_cleanup(fs, ps, pic, zdc, abcs) + dash_R_cleanup(fs, ps, pic, zdc, zsc, abcs) for i in range(repcount): rc_before = sys.gettotalrefcount() run_the_test() sys.stderr.write('.') - dash_R_cleanup(fs, ps, pic, zdc, abcs) + dash_R_cleanup(fs, ps, pic, zdc, zsc, abcs) rc_after = sys.gettotalrefcount() if i >= nwarmup: deltas.append(rc_after - rc_before) @@ -1046,7 +1047,7 @@ def dash_R(the_module, test, indirect_test, huntrleaks): return True return False -def dash_R_cleanup(fs, ps, pic, zdc, abcs): +def dash_R_cleanup(fs, ps, pic, zdc, zsc, abcs): import gc, copy_reg import _strptime, linecache dircache = test_support.import_module('dircache', deprecated=True) @@ -1072,6 +1073,8 @@ def dash_R_cleanup(fs, ps, pic, zdc, 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() |