mirror of
https://github.com/python/cpython
synced 2024-09-15 23:26:29 +00:00
gh-110918: Fix side effects of regrtest test_match_tests() (#116718)
test_match_tests now saves and restores patterns. Add get_match_tests() function to libregrtest.filter. Previously, running test_regrtest multiple times in a row only ran tests once: "./python -m test test_regrtest -R 3:3.
This commit is contained in:
parent
33662d4e01
commit
612f1ec988
|
@ -27,6 +27,11 @@ def _is_full_match_test(pattern):
|
|||
return ('.' in pattern) and (not re.search(r'[?*\[\]]', pattern))
|
||||
|
||||
|
||||
def get_match_tests():
|
||||
global _test_patterns
|
||||
return _test_patterns
|
||||
|
||||
|
||||
def set_match_tests(patterns):
|
||||
global _test_matchers, _test_patterns
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
from test.libregrtest import main
|
||||
from test.libregrtest import setup
|
||||
from test.libregrtest import utils
|
||||
from test.libregrtest.filter import set_match_tests, match_test
|
||||
from test.libregrtest.filter import get_match_tests, set_match_tests, match_test
|
||||
from test.libregrtest.result import TestStats
|
||||
from test.libregrtest.utils import normalize_test_name
|
||||
|
||||
|
@ -2298,6 +2298,10 @@ def __init__(self, test_id):
|
|||
def id(self):
|
||||
return self.test_id
|
||||
|
||||
# Restore patterns once the test completes
|
||||
patterns = get_match_tests()
|
||||
self.addCleanup(set_match_tests, patterns)
|
||||
|
||||
test_access = Test('test.test_os.FileTests.test_access')
|
||||
test_chdir = Test('test.test_os.Win32ErrorTests.test_chdir')
|
||||
test_copy = Test('test.test_shutil.TestCopy.test_copy')
|
||||
|
|
Loading…
Reference in a new issue