[Python-checkins] r75280 - in python/branches/release31-maint: Lib/test/regrtest.py Misc/NEWS
r.david.murray
python-checkins at python.org
Thu Oct 8 01:54:54 CEST 2009
Author: r.david.murray
Date: Thu Oct 8 01:54:53 2009
New Revision: 75280
Log:
Merged revisions 75279 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k
................
r75279 | r.david.murray | 2009-10-07 19:38:55 -0400 (Wed, 07 Oct 2009) | 10 lines
Merged revisions 75255 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r75255 | r.david.murray | 2009-10-05 13:03:09 -0400 (Mon, 05 Oct 2009) | 3 lines
Issue #7058: Added save/restore for argv and os.environ to runtest_inner
in regrtest, with warnings if the called test modifies them.
........
................
Modified:
python/branches/release31-maint/ (props changed)
python/branches/release31-maint/Lib/test/regrtest.py
python/branches/release31-maint/Misc/NEWS
Modified: python/branches/release31-maint/Lib/test/regrtest.py
==============================================================================
--- python/branches/release31-maint/Lib/test/regrtest.py (original)
+++ python/branches/release31-maint/Lib/test/regrtest.py Thu Oct 8 01:54:53 2009
@@ -598,6 +598,10 @@
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 cfp:
sys.stdout = cfp
@@ -622,6 +626,17 @@
test_times.append((test_time, test))
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 support.ResourceDenied as msg:
if not quiet:
print(test, "skipped --", msg)
Modified: python/branches/release31-maint/Misc/NEWS
==============================================================================
--- python/branches/release31-maint/Misc/NEWS (original)
+++ python/branches/release31-maint/Misc/NEWS Thu Oct 8 01:54:53 2009
@@ -79,6 +79,9 @@
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.
Build
More information about the Python-checkins
mailing list