diff options
author | Nick Coghlan <ncoghlan@gmail.com> | 2009-10-17 15:48:16 (GMT) |
---|---|---|
committer | Nick Coghlan <ncoghlan@gmail.com> | 2009-10-17 15:48:16 (GMT) |
commit | 8157e19e8fe311e8f18542750125a83cc97943f4 (patch) | |
tree | 76943701b0bc2626b39fd81a5e435c1b637fe6e4 | |
parent | fd4903bf05705d73c8b97d945a50e4e03abad729 (diff) | |
download | cpython-8157e19e8fe311e8f18542750125a83cc97943f4.zip cpython-8157e19e8fe311e8f18542750125a83cc97943f4.tar.gz cpython-8157e19e8fe311e8f18542750125a83cc97943f4.tar.bz2 |
Also check and restore identity of sys.path, sys.argv and os.environ rather than just their values (this picked up a few more misbehaving tests)
-rwxr-xr-x | Lib/test/regrtest.py | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py index 8b351d7..be88716 100755 --- a/Lib/test/regrtest.py +++ b/Lib/test/regrtest.py @@ -683,9 +683,10 @@ class saved_test_environment: 'os.environ', 'sys.path') def get_sys_argv(self): - return sys.argv[:] + return id(sys.argv), sys.argv, sys.argv[:] def restore_sys_argv(self, saved_argv): - sys.argv[:] = saved_argv + sys.argv = saved_argv[1] + sys.argv[:] = saved_argv[2] def get_cwd(self): return os.getcwd() @@ -708,15 +709,17 @@ class saved_test_environment: sys.stdin = saved_stdin def get_os_environ(self): - return dict(os.environ) + return id(os.environ), os.environ, dict(os.environ) def restore_os_environ(self, saved_environ): + os.environ = saved_environ[1] os.environ.clear() - os.environ.update(saved_environ) + os.environ.update(saved_environ[2]) def get_sys_path(self): - return sys.path[:] + return id(sys.path), sys.path, sys.path[:] def restore_sys_path(self, saved_path): - sys.path[:] = saved_path + sys.path = saved_path[1] + sys.path[:] = saved_path[2] def resource_info(self): for name in self.resources: |