mirror of
https://github.com/python/cpython.git
synced 2024-11-24 02:15:30 +08:00
Inherit interpreter flags in parallel testing
This commit is contained in:
parent
9a6692f6d7
commit
1b03f2ca83
@ -391,9 +391,6 @@ def main(tests=None, testdir=None, verbose=0, quiet=False,
|
||||
usage("-T and -j don't go together!")
|
||||
if use_mp and findleaks:
|
||||
usage("-l and -j don't go together!")
|
||||
if use_mp and max(sys.flags):
|
||||
# TODO: inherit the environment and the flags
|
||||
print("Warning: flags and environment variables are ignored with -j option")
|
||||
|
||||
good = []
|
||||
bad = []
|
||||
@ -534,6 +531,8 @@ def main(tests=None, testdir=None, verbose=0, quiet=False,
|
||||
)
|
||||
yield (test, args_tuple)
|
||||
pending = tests_and_args()
|
||||
opt_args = support.args_from_interpreter_flags()
|
||||
base_cmd = [sys.executable] + opt_args + ['-m', 'test.regrtest']
|
||||
def work():
|
||||
# A worker thread.
|
||||
try:
|
||||
@ -544,8 +543,7 @@ def main(tests=None, testdir=None, verbose=0, quiet=False,
|
||||
output.put((None, None, None, None))
|
||||
return
|
||||
# -E is needed by some tests, e.g. test_import
|
||||
popen = Popen([sys.executable, '-E', '-m', 'test.regrtest',
|
||||
'--slaveargs', json.dumps(args_tuple)],
|
||||
popen = Popen(base_cmd + ['--slaveargs', json.dumps(args_tuple)],
|
||||
stdout=PIPE, stderr=PIPE,
|
||||
universal_newlines=True,
|
||||
close_fds=(os.name != 'nt'))
|
||||
|
@ -1327,3 +1327,22 @@ def strip_python_stderr(stderr):
|
||||
"""
|
||||
stderr = re.sub(br"\[\d+ refs\]\r?\n?$", b"", stderr).strip()
|
||||
return stderr
|
||||
|
||||
def args_from_interpreter_flags():
|
||||
"""Return a list of command-line arguments reproducing the current
|
||||
settings in sys.flags."""
|
||||
flag_opt_map = {
|
||||
'bytes_warning': 'b',
|
||||
'dont_write_bytecode': 'B',
|
||||
'ignore_environment': 'E',
|
||||
'no_user_site': 's',
|
||||
'no_site': 'S',
|
||||
'optimize': 'O',
|
||||
'verbose': 'v',
|
||||
}
|
||||
args = []
|
||||
for flag, opt in flag_opt_map.items():
|
||||
v = getattr(sys.flags, flag)
|
||||
if v > 0:
|
||||
args.append('-' + opt * v)
|
||||
return args
|
||||
|
Loading…
Reference in New Issue
Block a user