Merged revisions 75485 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r75485 | tarek.ziade | 2009-10-18 11:28:26 +0200 (Sun, 18 Oct 2009) | 1 line

  Changed distutils tests to avoid environment alteration
........
diff --git a/Lib/distutils/tests/support.py b/Lib/distutils/tests/support.py
index ea12211..e258d2e 100644
--- a/Lib/distutils/tests/support.py
+++ b/Lib/distutils/tests/support.py
@@ -2,11 +2,11 @@
 import os
 import shutil
 import tempfile
+from copy import deepcopy
 
 from distutils import log
 from distutils.log import DEBUG, INFO, WARN, ERROR, FATAL
 from distutils.core import Distribution
-from test.support import EnvironmentVarGuard
 
 class LoggingSilencer(object):
 
@@ -111,8 +111,15 @@
 
     def setUp(self):
         super(EnvironGuard, self).setUp()
-        self.environ = EnvironmentVarGuard()
+        self.old_environ = deepcopy(os.environ)
 
     def tearDown(self):
-        self.environ.__exit__()
+        for key, value in self.old_environ.items():
+            if os.environ.get(key) != value:
+                os.environ[key] = value
+
+        for key in tuple(os.environ.keys()):
+            if key not in self.old_environ:
+                del os.environ[key]
+
         super(EnvironGuard, self).tearDown()