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 b554afd4b5c..21b5ffa4170 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -239,6 +239,9 @@ IDLE 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 #22002: Added ``load_package_tests`` function to test.support and used it to implement/augment test discovery in test_asyncio, test_email, test_importlib, test_json, and test_tools.