[Python-checkins] r85470 - in python/branches/release27-maint: Lib/test/regrtest.py Lib/test/test_support.py
antoine.pitrou
python-checkins at python.org
Thu Oct 14 13:15:50 CEST 2010
Author: antoine.pitrou
Date: Thu Oct 14 13:15:50 2010
New Revision: 85470
Log:
Merged revisions 85469 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r85469 | antoine.pitrou | 2010-10-14 13:12:00 +0200 (jeu., 14 oct. 2010) | 3 lines
Inherit interpreter flags in parallel testing
........
Modified:
python/branches/release27-maint/ (props changed)
python/branches/release27-maint/Lib/test/regrtest.py
python/branches/release27-maint/Lib/test/test_support.py
Modified: python/branches/release27-maint/Lib/test/regrtest.py
==============================================================================
--- python/branches/release27-maint/Lib/test/regrtest.py (original)
+++ python/branches/release27-maint/Lib/test/regrtest.py Thu Oct 14 13:15:50 2010
@@ -365,9 +365,6 @@
usage(2, "-T and -j don't go together!")
if use_mp and findleaks:
usage(2, "-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 = []
@@ -496,6 +493,8 @@
)
yield (test, args_tuple)
pending = tests_and_args()
+ opt_args = test_support.args_from_interpreter_flags()
+ base_cmd = [sys.executable] + opt_args + ['-m', 'test.regrtest']
def work():
# A worker thread.
try:
@@ -506,8 +505,7 @@
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'))
Modified: python/branches/release27-maint/Lib/test/test_support.py
==============================================================================
--- python/branches/release27-maint/Lib/test/test_support.py (original)
+++ python/branches/release27-maint/Lib/test/test_support.py Thu Oct 14 13:15:50 2010
@@ -1199,3 +1199,22 @@
return b"".join(chr(x) for x in b)
except TypeError:
return bytes(b)
+
+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
More information about the Python-checkins
mailing list