mirror of
https://github.com/python/cpython.git
synced 2025-07-30 06:34:15 +00:00
Issue #7058: Added save/restore for argv and os.environ to runtest_inner
in regrtest, with warnings if the called test modifies them.
This commit is contained in:
parent
245d915e3e
commit
abe3d3ec85
2 changed files with 18 additions and 0 deletions
|
@ -641,6 +641,10 @@ def runtest_inner(test, verbose, quiet,
|
|||
refleak = False # True if the test leaked references.
|
||||
try:
|
||||
save_stdout = sys.stdout
|
||||
# Save various things that tests may mess up so we can restore
|
||||
# them afterward.
|
||||
save_environ = dict(os.environ)
|
||||
save_argv = sys.argv[:]
|
||||
try:
|
||||
if capture_stdout:
|
||||
sys.stdout = capture_stdout
|
||||
|
@ -663,6 +667,17 @@ def runtest_inner(test, verbose, quiet,
|
|||
test_time = time.time() - start_time
|
||||
finally:
|
||||
sys.stdout = save_stdout
|
||||
# Restore what we saved if needed, but also complain if the test
|
||||
# changed it so that the test may eventually get fixed.
|
||||
if not os.environ == save_environ:
|
||||
if not quiet:
|
||||
print "Warning: os.environ was modified by", test
|
||||
os.environ.clear()
|
||||
os.environ.update(save_environ)
|
||||
if not sys.argv == save_argv:
|
||||
if not quiet:
|
||||
print "Warning: argv was modified by", test
|
||||
sys.argv[:] = save_argv
|
||||
except test_support.ResourceDenied, msg:
|
||||
if not quiet:
|
||||
print test, "skipped --", msg
|
||||
|
|
|
@ -1436,6 +1436,9 @@ Extension Modules
|
|||
Tests
|
||||
-----
|
||||
|
||||
- Issue #7058: Added save/restore for argv and os.environ to runtest_inner
|
||||
in regrtest, with warnings if the called test modifies them.
|
||||
|
||||
- Issue #7042: Fix test_signal (test_itimer_virtual) failure on OS X 10.6.
|
||||
|
||||
- Issue #6806: test_platform failed under OS X 10.6.0 because ``sw_ver`` leaves
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue