[Python-checkins] r71985 - in python/branches/release26-maint: Lib/test/test_optparse.py Lib/test/test_posixpath.py Lib/test/test_site.py Lib/test/test_tempfile.py Lib/test/test_urllib.py Lib/test/test_xmlrpc.py

walter.doerwald python-checkins at python.org
Sun Apr 26 23:04:55 CEST 2009


Author: walter.doerwald
Date: Sun Apr 26 23:04:55 2009
New Revision: 71985
Log:
Merged revisions 71984 via svnmerge from 
svn+ssh://pythondev@svn.python.org/python/trunk
........
 r71984 | walter.doerwald | 2009年04月26日 22:51:44 +0200 (So, 26 Apr 2009) | 2 lines
 
 Use test.test_support.EnvironmentVarGuard where tests change environment vars.
........
Modified:
 python/branches/release26-maint/ (props changed)
 python/branches/release26-maint/Lib/test/test_optparse.py
 python/branches/release26-maint/Lib/test/test_posixpath.py
 python/branches/release26-maint/Lib/test/test_site.py
 python/branches/release26-maint/Lib/test/test_tempfile.py
 python/branches/release26-maint/Lib/test/test_urllib.py
 python/branches/release26-maint/Lib/test/test_xmlrpc.py
Modified: python/branches/release26-maint/Lib/test/test_optparse.py
==============================================================================
--- python/branches/release26-maint/Lib/test/test_optparse.py	(original)
+++ python/branches/release26-maint/Lib/test/test_optparse.py	Sun Apr 26 23:04:55 2009
@@ -1464,15 +1464,9 @@
 # we must restore its original value -- otherwise, this test
 # screws things up for other tests when it's part of the Python
 # test suite.
- orig_columns = os.environ.get('COLUMNS')
- os.environ['COLUMNS'] = str(columns)
- try:
+ with test_support.EnvironmentVarGuard() as env:
+ env.set('COLUMNS', str(columns))
 return InterceptingOptionParser(option_list=options)
- finally:
- if orig_columns is None:
- del os.environ['COLUMNS']
- else:
- os.environ['COLUMNS'] = orig_columns
 
 def assertHelpEquals(self, expected_output):
 if type(expected_output) is types.UnicodeType:
@@ -1499,16 +1493,10 @@
 self.assertHelpEquals(_expected_help_long_opts_first)
 
 def test_help_title_formatter(self):
- save = os.environ.get("COLUMNS")
- try:
- os.environ["COLUMNS"] = "80"
+ with test_support.EnvironmentVarGuard() as env:
+ env.set("COLUMNS", "80")
 self.parser.formatter = TitledHelpFormatter()
 self.assertHelpEquals(_expected_help_title_formatter)
- finally:
- if save is not None:
- os.environ["COLUMNS"] = save
- else:
- del os.environ["COLUMNS"]
 
 def test_wrap_columns(self):
 # Ensure that wrapping respects $COLUMNS environment variable.
Modified: python/branches/release26-maint/Lib/test/test_posixpath.py
==============================================================================
--- python/branches/release26-maint/Lib/test/test_posixpath.py	(original)
+++ python/branches/release26-maint/Lib/test/test_posixpath.py	Sun Apr 26 23:04:55 2009
@@ -345,10 +345,9 @@
 self.assert_(isinstance(posixpath.expanduser("~root/"), basestring))
 self.assert_(isinstance(posixpath.expanduser("~foo/"), basestring))
 
- orig_home = os.environ['HOME']
- os.environ['HOME'] = '/'
- self.assertEqual(posixpath.expanduser("~"), "/")
- os.environ['HOME'] = orig_home
+ with test_support.EnvironmentVarGuard() as env:
+ env.set('HOME', '/')
+ self.assertEqual(posixpath.expanduser("~"), "/")
 
 self.assertRaises(TypeError, posixpath.expanduser)
 
Modified: python/branches/release26-maint/Lib/test/test_site.py
==============================================================================
--- python/branches/release26-maint/Lib/test/test_site.py	(original)
+++ python/branches/release26-maint/Lib/test/test_site.py	Sun Apr 26 23:04:55 2009
@@ -5,7 +5,7 @@
 
 """
 import unittest
-from test.test_support import TestSkipped, run_unittest, TESTFN
+from test.test_support import TestSkipped, run_unittest, TESTFN, EnvironmentVarGuard
 import __builtin__
 import os
 import sys
Modified: python/branches/release26-maint/Lib/test/test_tempfile.py
==============================================================================
--- python/branches/release26-maint/Lib/test/test_tempfile.py	(original)
+++ python/branches/release26-maint/Lib/test/test_tempfile.py	Sun Apr 26 23:04:55 2009
@@ -149,13 +149,11 @@
 # _candidate_tempdir_list contains the expected directories
 
 # Make sure the interesting environment variables are all set.
- added = []
- try:
+ with test_support.EnvironmentVarGuard() as env:
 for envname in 'TMPDIR', 'TEMP', 'TMP':
 dirname = os.getenv(envname)
 if not dirname:
- os.environ[envname] = os.path.abspath(envname)
- added.append(envname)
+ env.set(envname, os.path.abspath(envname))
 
 cand = tempfile._candidate_tempdir_list()
 
@@ -173,9 +171,6 @@
 
 # Not practical to try to verify the presence of OS-specific
 # paths in this list.
- finally:
- for p in added:
- del os.environ[p]
 
 test_classes.append(test__candidate_tempdir_list)
 
Modified: python/branches/release26-maint/Lib/test/test_urllib.py
==============================================================================
--- python/branches/release26-maint/Lib/test/test_urllib.py	(original)
+++ python/branches/release26-maint/Lib/test/test_urllib.py	Sun Apr 26 23:04:55 2009
@@ -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'])
Modified: python/branches/release26-maint/Lib/test/test_xmlrpc.py
==============================================================================
--- python/branches/release26-maint/Lib/test/test_xmlrpc.py	(original)
+++ python/branches/release26-maint/Lib/test/test_xmlrpc.py	Sun Apr 26 23:04:55 2009
@@ -583,25 +583,25 @@
 self.cgi = None
 
 def test_cgi_get(self):
- os.environ['REQUEST_METHOD'] = 'GET'
- # if the method is GET and no request_text is given, it runs handle_get
- # get sysout output
- tmp = sys.stdout
- sys.stdout = open(test_support.TESTFN, "w")
- self.cgi.handle_request()
- sys.stdout.close()
- sys.stdout = tmp
+ with test_support.EnvironmentVarGuard() as env:
+ env.set('REQUEST_METHOD', 'GET')
+ # if the method is GET and no request_text is given, it runs handle_get
+ # get sysout output
+ tmp = sys.stdout
+ sys.stdout = open(test_support.TESTFN, "w")
+ self.cgi.handle_request()
+ sys.stdout.close()
+ sys.stdout = tmp
 
- # parse Status header
- handle = open(test_support.TESTFN, "r").read()
- status = handle.split()[1]
- message = ' '.join(handle.split()[2:4])
+ # parse Status header
+ handle = open(test_support.TESTFN, "r").read()
+ status = handle.split()[1]
+ message = ' '.join(handle.split()[2:4])
 
- self.assertEqual(status, '400')
- self.assertEqual(message, 'Bad Request')
+ self.assertEqual(status, '400')
+ self.assertEqual(message, 'Bad Request')
 
- os.remove(test_support.TESTFN)
- os.environ['REQUEST_METHOD'] = ''
+ os.remove(test_support.TESTFN)
 
 def test_cgi_xmlrpc_response(self):
 data = """<?xml version='1.0'?>
@@ -624,11 +624,9 @@
 sys.stdin = open("xmldata.txt", "r")
 sys.stdout = open(test_support.TESTFN, "w")
 
- os.environ['CONTENT_LENGTH'] = str(len(data))
- try:
+ with test_support.EnvironmentVarGuard() as env:
+ env.set('CONTENT_LENGTH', str(len(data)))
 self.cgi.handle_request()
- finally:
- del os.environ['CONTENT_LENGTH']
 
 sys.stdin.close()
 sys.stdout.close()


More information about the Python-checkins mailing list

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