Rev 5574: Simplify overrideEnv, fix the related tests, make them more dev-friendly too. in file:///home/vila/src/bzr/bugs/690563-better-env-isolation/
Vincent Ladeuil
v.ladeuil+lp at free.fr
Thu Dec 16 10:14:43 GMT 2010
At file:///home/vila/src/bzr/bugs/690563-better-env-isolation/
------------------------------------------------------------
revno: 5574
revision-id: v.ladeuil+lp at free.fr-20101216101443-0em53d3ae5kmworm
parent: v.ladeuil+lp at free.fr-20101215180429-5vh8hb6cvxxq16t1
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: 690563-better-env-isolation
timestamp: Thu 2010-12-16 11:14:43 +0100
message:
Simplify overrideEnv, fix the related tests, make them more dev-friendly too.
-------------- next part --------------
=== modified file 'bzrlib/tests/__init__.py'
--- a/bzrlib/tests/__init__.py 2010-12-15 18:04:29 +0000
+++ b/bzrlib/tests/__init__.py 2010-12-16 10:14:43 +0000
@@ -1546,12 +1546,8 @@
:param value: The value to set the variable to. If None, the
variable is deleted from the environment.
"""
- if name in self._old_env:
- # We already protect this variable so we should not record its
- # initial value
- osutils.set_or_unset_env(name, value)
- else:
- self._old_env[name] = osutils.set_or_unset_env(name, value)
+ old_value = osutils.set_or_unset_env(name, value)
+ self.addCleanup(osutils.set_or_unset_env, name, old_value)
def _cleanEnvironment(self):
new_env = {
=== modified file 'bzrlib/tests/test_selftest.py'
--- a/bzrlib/tests/test_selftest.py 2010-12-15 18:04:29 +0000
+++ b/bzrlib/tests/test_selftest.py 2010-12-16 10:14:43 +0000
@@ -3430,7 +3430,8 @@
output = StringIO()
result = tests.TextTestResult(output, 0, 1)
Test('test_me').run(result)
- self.assertTrue(result.wasStrictlySuccessful())
+ if not result.wasStrictlySuccessful():
+ self.fail(output.getvalue())
# And we have lost all trace of the original value
self.assertEquals(None, os.environ.get('MYVAR'))
self.assertEquals(None, self._old_env.get('MYVAR'))
@@ -3443,14 +3444,13 @@
# The first call save the 42 value
self.overrideEnv('MYVAR', None)
self.assertEquals(None, os.environ.get('MYVAR'))
- self.assertEquals('42', self._old_env.get('MYVAR'))
- # The second one respect it
+ # Make sure we can call it twice
self.overrideEnv('MYVAR', None)
self.assertEquals(None, os.environ.get('MYVAR'))
- self.assertEquals('42', self._old_env.get('MYVAR'))
output = StringIO()
result = tests.TextTestResult(output, 0, 1)
Test('test_me').run(result)
- self.assertTrue(result.wasStrictlySuccessful())
+ if not result.wasStrictlySuccessful():
+ self.fail(output.getvalue())
# We get our value back
self.assertEquals('42', os.environ.get('MYVAR'))
More information about the bazaar-commits
mailing list