From 2c7470d9513461aaf1af4e655c580d1ece602d2f Mon Sep 17 00:00:00 2001 From: Benjamin Peterson Date: Sun, 21 Sep 2008 21:27:51 +0000 Subject: [PATCH] #3879 fix a regression in urllib.getproxies_environment reviewers: Benjamin, Georg --- Lib/test/test_urllib.py | 26 ++++++++++++++++++++++++++ Lib/urllib.py | 3 --- Misc/NEWS | 2 ++ 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/Lib/test/test_urllib.py b/Lib/test/test_urllib.py index 7b351b8996..b78f30a136 100644 --- a/Lib/test/test_urllib.py +++ b/Lib/test/test_urllib.py @@ -94,6 +94,31 @@ class urlopen_FileTests(unittest.TestCase): 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 @@ def test_main(): urlopen_FileTests, urlopen_HttpTests, urlretrieve_FileTests, + ProxyTests, QuotingTests, UnquotingTests, urlencode_Tests, diff --git a/Lib/urllib.py b/Lib/urllib.py index 55a29f4fc8..38c5ee49f1 100644 --- a/Lib/urllib.py +++ b/Lib/urllib.py @@ -1299,9 +1299,6 @@ def getproxies_environment(): 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 diff --git a/Misc/NEWS b/Misc/NEWS index d6cceb19f7..0c222331c5 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -15,6 +15,8 @@ Core and Builtins Library ------- +- Issue #3879: A regression in urllib.getproxies_enviroment was fixed. + Build ----- -- 2.40.0