From 2d7a150650c889d90fe7d6cf85b43a9c93a0eccf Mon Sep 17 00:00:00 2001 From: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com> Date: Thu, 3 Aug 2023 05:47:09 +0000 Subject: [PATCH 1/2] fix test_tools refleak --- Lib/test/test_tools/test_sundry.py | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/Lib/test/test_tools/test_sundry.py b/Lib/test/test_tools/test_sundry.py index 2f8ba272164d32..5cb6fb88df99af 100644 --- a/Lib/test/test_tools/test_sundry.py +++ b/Lib/test/test_tools/test_sundry.py @@ -7,29 +7,19 @@ import os import unittest -from test.support import import_helper from test.test_tools import scriptsdir, import_tool, skip_if_missing skip_if_missing() class TestSundryScripts(unittest.TestCase): - # import logging registers "atfork" functions which keep indirectly the - # logging module dictionary alive. Mock the function to be able to unload - # cleanly the logging module. - @import_helper.mock_register_at_fork - def test_sundry(self, mock_os): - old_modules = import_helper.modules_setup() - try: - for fn in os.listdir(scriptsdir): - if not fn.endswith('.py'): - continue - - name = fn[:-3] - import_tool(name) - finally: - # Unload all modules loaded in this test - import_helper.modules_cleanup(*old_modules) + + def test_sundry(self,): + for fn in os.listdir(scriptsdir): + if not fn.endswith('.py'): + continue + name = fn[:-3] + import_tool(name) if __name__ == '__main__': From f609dbcdbd032fabab5b6978178e101984334664 Mon Sep 17 00:00:00 2001 From: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com> Date: Thu, 3 Aug 2023 05:51:25 +0000 Subject: [PATCH 2/2] mock fork handler --- Lib/test/test_tools/test_sundry.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Lib/test/test_tools/test_sundry.py b/Lib/test/test_tools/test_sundry.py index 5cb6fb88df99af..d0b702d392cdf6 100644 --- a/Lib/test/test_tools/test_sundry.py +++ b/Lib/test/test_tools/test_sundry.py @@ -7,14 +7,18 @@ import os import unittest +from test.support import import_helper from test.test_tools import scriptsdir, import_tool, skip_if_missing skip_if_missing() class TestSundryScripts(unittest.TestCase): - - def test_sundry(self,): + # import logging registers "atfork" functions which keep indirectly the + # logging module dictionary alive. Mock the function to be able to unload + # cleanly the logging module. + @import_helper.mock_register_at_fork + def test_sundry(self, mock_os): for fn in os.listdir(scriptsdir): if not fn.endswith('.py'): continue