diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py index c1c831ff867..b633631b00d 100755 --- a/Lib/test/regrtest.py +++ b/Lib/test/regrtest.py @@ -1273,8 +1273,10 @@ def runtest_inner(test, verbose, quiet, # tests. If not, use normal unittest test loading. test_runner = getattr(the_module, "test_main", None) if test_runner is None: - tests = unittest.TestLoader().loadTestsFromModule(the_module) - test_runner = lambda: support.run_unittest(tests) + def test_runner(): + loader = unittest.TestLoader() + tests = loader.loadTestsFromModule(the_module) + support.run_unittest(tests) test_runner() if huntrleaks: refleak = dash_R(the_module, test, test_runner, huntrleaks) diff --git a/Misc/NEWS b/Misc/NEWS index 864f894f937..f914cadc2fe 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -802,6 +802,9 @@ Documentation Tests ----- +- Issue #22104: regrtest.py no longer holds a reference to the suite of tests + loaded from test modules that don't define test_main(). + - Issue #22111: Assorted cleanups in test_imaplib. Patch by Milan Oberkirch. - Issue #22002: Added ``load_package_tests`` function to test.support and used