@@ -1018,12 +1018,16 @@ def test_run(self):
10181018 stats = TestStats (4 , 1 ),
10191019 forever = True )
10201020
1021- def check_leak (self , code , what ):
1021+ def check_leak (self , code , what , * , multiprocessing = False ):
10221022 test = self .create_test ('huntrleaks' , code = code )
10231023
10241024 filename = 'reflog.txt'
10251025 self .addCleanup (os_helper .unlink , filename )
1026- output = self .run_tests ('--huntrleaks' , '6:3:' , test ,
1026+ cmd = ['--huntrleaks' , '6:3:' ]
1027+ if multiprocessing :
1028+ cmd .append ('-j1' )
1029+ cmd .append (test )
1030+ output = self .run_tests (* cmd ,
10271031 exitcode = EXITCODE_BAD_TEST ,
10281032 stderr = subprocess .STDOUT )
10291033 self .check_executed_tests (output , [test ], failed = test , stats = 1 )
@@ -1039,7 +1043,7 @@ def check_leak(self, code, what):
10391043 self .assertIn (line2 , reflog )
10401044
10411045 @unittest .skipUnless (support .Py_DEBUG , 'need a debug build' )
1042- def test_huntrleaks (self ):
1046+ def check_huntrleaks (self , * , multiprocessing : bool ):
10431047 # test --huntrleaks
10441048 code = textwrap .dedent ("""
10451049 import unittest
@@ -1050,7 +1054,13 @@ class RefLeakTest(unittest.TestCase):
10501054 def test_leak(self):
10511055 GLOBAL_LIST.append(object())
10521056 """ )
1053- self .check_leak (code , 'references' )
1057+ self .check_leak (code , 'references' , multiprocessing = multiprocessing )
1058+
1059+ def test_huntrleaks (self ):
1060+ self .check_huntrleaks (multiprocessing = False )
1061+
1062+ def test_huntrleaks_mp (self ):
1063+ self .check_huntrleaks (multiprocessing = True )
10541064
10551065 @unittest .skipUnless (support .Py_DEBUG , 'need a debug build' )
10561066 def test_huntrleaks_fd_leak (self ):
0 commit comments