mirror of
https://github.com/python/cpython.git
synced 2024-12-12 19:33:52 +08:00
merge 3.3
This commit is contained in:
commit
f617fa88de
@ -1373,10 +1373,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):
|
||||
@ -1395,7 +1394,7 @@ def dash_R(the_module, test, indirect_test, huntrleaks):
|
||||
sys.stderr.flush()
|
||||
for i in range(repcount):
|
||||
indirect_test()
|
||||
alloc_after, rc_after = dash_R_cleanup(fs, ps, pic, zdc, zsc, abcs)
|
||||
alloc_after, rc_after = dash_R_cleanup(fs, ps, pic, zdc, abcs)
|
||||
sys.stderr.write('.')
|
||||
sys.stderr.flush()
|
||||
if i >= nwarmup:
|
||||
@ -1429,7 +1428,7 @@ def dash_R(the_module, test, indirect_test, huntrleaks):
|
||||
failed = True
|
||||
return failed
|
||||
|
||||
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
|
||||
@ -1455,8 +1454,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()
|
||||
|
@ -349,6 +349,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__':
|
||||
|
Loading…
Reference in New Issue
Block a user