Make test.test_support.EnvironmentVarGuard behave like a dictionary.

All changes are mirrored to the underlying os.environ dict, but rolled back
on exit from the with block.
This commit is contained in:
Walter Dörwald 2009-05-01 17:35:37 +00:00
parent ca87fa5a5b
commit 6733bed57e
11 changed files with 72 additions and 67 deletions

View file

@ -58,10 +58,6 @@ LOCALEDIR = os.path.join('xx', 'LC_MESSAGES')
MOFILE = os.path.join(LOCALEDIR, 'gettext.mo')
UMOFILE = os.path.join(LOCALEDIR, 'ugettext.mo')
MMOFILE = os.path.join(LOCALEDIR, 'metadata.mo')
try:
LANG = os.environ['LANGUAGE']
except:
LANG = 'en'
class GettextBaseTest(unittest.TestCase):
@ -77,10 +73,12 @@ class GettextBaseTest(unittest.TestCase):
fp = open(MMOFILE, 'wb')
fp.write(base64.decodestring(MMO_DATA))
fp.close()
os.environ['LANGUAGE'] = 'xx'
self.env = test_support.EnvironmentVarGuard()
self.env['LANGUAGE'] = 'xx'
def tearDown(self):
os.environ['LANGUAGE'] = LANG
self.env.__exit__()
del self.env
shutil.rmtree(os.path.split(LOCALEDIR)[0])