Use test.test_support.EnvironmentVarGuard where tests change environment vars.
diff --git a/Lib/test/test_urllib.py b/Lib/test/test_urllib.py
index eaacc39..8b687cf7 100644
--- a/Lib/test/test_urllib.py
+++ b/Lib/test/test_urllib.py
@@ -98,20 +98,20 @@
 class ProxyTests(unittest.TestCase):
 
     def setUp(self):
-        # Save all proxy related env vars
-        self._saved_environ = dict([(k, v) for k, v in os.environ.iteritems()
-                                    if k.lower().find('proxy') >= 0])
+        # Records changes to env vars
+        self.env = test_support.EnvironmentVarGuard()
         # Delete all proxy related env vars
-        for k in self._saved_environ:
-            del os.environ[k]
+        for k, v in os.environ.iteritems():
+            if 'proxy' in k.lower():
+                env.unset(k)
 
     def tearDown(self):
         # Restore all proxy related env vars
-        for k, v in self._saved_environ.iteritems():
-            os.environ[k] = v
+        self.env.__exit__()
+        del self.env
 
     def test_getproxies_environment_keep_no_proxies(self):
-        os.environ['NO_PROXY'] = 'localhost'
+        self.env.set('NO_PROXY', 'localhost')
         proxies = urllib.getproxies_environment()
         # getproxies_environment use lowered case truncated (no '_proxy') keys
         self.assertEquals('localhost', proxies['no'])