Patch by Vladimir Marangozov to unload additionally imported modules
after each test has been run. This avoids excessive memory growth
during the tests.
diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py
index 6364d71..924890a 100755
--- a/Lib/test/regrtest.py
+++ b/Lib/test/regrtest.py
@@ -105,6 +105,7 @@
if single:
tests = tests[:1]
test_support.verbose = verbose # Tell tests to be moderately quiet
+ save_modules = sys.modules.keys()
for test in tests:
if not quiet:
print test
@@ -118,6 +119,10 @@
print "test", test,
print "skipped -- an optional feature could not be imported"
skipped.append(test)
+ # Unload the newly imported modules (best effort finalization)
+ for module in sys.modules.keys():
+ if module not in save_modules:
+ test_support.unload(module)
if good and not quiet:
if not bad and not skipped and len(good) > 1:
print "All",