]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Fix test_regrtest when run with uops always on (#108778)
authorGuido van Rossum <guido@python.org>
Fri, 1 Sep 2023 23:27:09 +0000 (16:27 -0700)
committerGitHub <noreply@github.com>
Fri, 1 Sep 2023 23:27:09 +0000 (16:27 -0700)
The fix has two parts:
- When `-X uops` is detected, pass it on to the subprocess created to run the manufactured test.
  I need this so I can run `./python -Xuops -m test test_regrtest` and see it fail without the next fix.
- Use `-R 6:3:` in `ArgsTestCase.test_huntrleaks` instead of `-R 3:3:` -- it takes longer to settle with `-X uops`.

Lib/test/test_regrtest.py

index 806b932a164df81ab0a1aa4a8ab58539f497a59f..0c1400c8105037ea192c7168da214341b18ff925 100644 (file)
@@ -548,7 +548,11 @@ class BaseTestCase(unittest.TestCase):
         return proc
 
     def run_python(self, args, **kw):
-        args = [sys.executable, '-X', 'faulthandler', '-I', *args]
+        extraargs = []
+        if 'uops' in sys._xoptions:
+            # Pass -X uops along
+            extraargs.extend(['-X', 'uops'])
+        args = [sys.executable, *extraargs, '-X', 'faulthandler', '-I', *args]
         proc = self.run_command(args, **kw)
         return proc.stdout
 
@@ -893,12 +897,12 @@ class ArgsTestCase(BaseTestCase):
 
         filename = 'reflog.txt'
         self.addCleanup(os_helper.unlink, filename)
-        output = self.run_tests('--huntrleaks', '3:3:', test,
+        output = self.run_tests('--huntrleaks', '6:3:', test,
                                 exitcode=EXITCODE_BAD_TEST,
                                 stderr=subprocess.STDOUT)
         self.check_executed_tests(output, [test], failed=test)
 
-        line = 'beginning 6 repetitions\n123456\n......\n'
+        line = 'beginning 9 repetitions\n123456789\n.........\n'
         self.check_line(output, re.escape(line))
 
         line2 = '%s leaked [1, 1, 1] %s, sum=3\n' % (test, what)