[Python-checkins] r66544 - in python/trunk: Lib/test/test_urllib.py Lib/urllib.py Misc/NEWS

benjamin.peterson python-checkins at python.org
Sun Sep 21 23:27:52 CEST 2008


Author: benjamin.peterson
Date: Sun Sep 21 23:27:51 2008
New Revision: 66544
Log:
#3879 fix a regression in urllib.getproxies_environment
reviewers: Benjamin, Georg
Modified:
 python/trunk/Lib/test/test_urllib.py
 python/trunk/Lib/urllib.py
 python/trunk/Misc/NEWS
Modified: python/trunk/Lib/test/test_urllib.py
==============================================================================
--- python/trunk/Lib/test/test_urllib.py	(original)
+++ python/trunk/Lib/test/test_urllib.py	Sun Sep 21 23:27:51 2008
@@ -94,6 +94,31 @@
 for line in self.returned_obj.__iter__():
 self.assertEqual(line, self.text)
 
+
+class ProxyTests(unittest.TestCase):
+
+ def setUp(self):
+ unittest.TestCase.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])
+ # Delete all proxy related env vars
+ for k in self._saved_environ:
+ del os.environ[k]
+
+ def tearDown(self):
+ unittest.TestCase.tearDown(self)
+ # Restore all proxy related env vars
+ for k, v in self._saved_environ:
+ os.environ[k] = v
+
+ def test_getproxies_environment_keep_no_proxies(self):
+ os.environ['NO_PROXY'] = 'localhost'
+ proxies = urllib.getproxies_environment()
+ # getproxies_environment use lowered case truncated (no '_proxy') keys
+ self.assertEquals('localhost', proxies['no'])
+
+
 class urlopen_HttpTests(unittest.TestCase):
 """Test urlopen() opening a fake http connection."""
 
@@ -648,6 +673,7 @@
 urlopen_FileTests,
 urlopen_HttpTests,
 urlretrieve_FileTests,
+ ProxyTests,
 QuotingTests,
 UnquotingTests,
 urlencode_Tests,
Modified: python/trunk/Lib/urllib.py
==============================================================================
--- python/trunk/Lib/urllib.py	(original)
+++ python/trunk/Lib/urllib.py	Sun Sep 21 23:27:51 2008
@@ -1299,9 +1299,6 @@
 proxies = {}
 for name, value in os.environ.items():
 name = name.lower()
- if name == 'no_proxy':
- # handled in proxy_bypass_environment
- continue
 if value and name[-6:] == '_proxy':
 proxies[name[:-6]] = value
 return proxies
Modified: python/trunk/Misc/NEWS
==============================================================================
--- python/trunk/Misc/NEWS	(original)
+++ python/trunk/Misc/NEWS	Sun Sep 21 23:27:51 2008
@@ -15,6 +15,8 @@
 Library
 -------
 
+- Issue #3879: A regression in urllib.getproxies_enviroment was fixed.
+
 Build
 -----
 


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /