Rev 5582: Replace osutils.set_or_unset_env calls with self.overrideEnv. in file:///home/vila/src/bzr/bugs/690563-better-env-isolation/
Vincent Ladeuil
v.ladeuil+lp at free.fr
Thu Dec 16 15:29:10 GMT 2010
At file:///home/vila/src/bzr/bugs/690563-better-env-isolation/
------------------------------------------------------------
revno: 5582
revision-id: v.ladeuil+lp at free.fr-20101216152910-5mpkn28xy3oa1cuw
parent: v.ladeuil+lp at free.fr-20101216151711-dek1mauthfujemwu
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: 690563-better-env-isolation
timestamp: Thu 2010-12-16 16:29:10 +0100
message:
Replace osutils.set_or_unset_env calls with self.overrideEnv.
-------------- next part --------------
=== modified file 'bzrlib/tests/blackbox/test_commit.py'
--- a/bzrlib/tests/blackbox/test_commit.py 2010-12-02 09:23:10 +0000
+++ b/bzrlib/tests/blackbox/test_commit.py 2010-12-16 15:29:10 +0000
@@ -719,13 +719,13 @@
f = file('fed.bat', 'w')
f.write('@rem dummy fed')
f.close()
- osutils.set_or_unset_env('BZR_EDITOR', "fed.bat")
+ self.overrideEnv('BZR_EDITOR', "fed.bat")
else:
f = file('fed.sh', 'wb')
f.write('#!/bin/sh\n')
f.close()
os.chmod('fed.sh', 0755)
- osutils.set_or_unset_env('BZR_EDITOR', "./fed.sh")
+ self.overrideEnv('BZR_EDITOR', "./fed.sh")
def setup_commit_with_template(self):
self.setup_editor()
@@ -756,8 +756,8 @@
os.chdir('foo')
open('foo.txt', 'w').write('hello')
self.run_bzr(['add'])
- osutils.set_or_unset_env('EMAIL', None)
- osutils.set_or_unset_env('BZR_EMAIL', None)
+ self.overrideEnv('EMAIL', None)
+ self.overrideEnv('BZR_EMAIL', None)
out, err = self.run_bzr(['commit', '-m', 'initial'], 3)
self.assertContainsRe(err, 'Unable to determine your name')
=== modified file 'bzrlib/tests/blackbox/test_init.py'
--- a/bzrlib/tests/blackbox/test_init.py 2010-10-12 09:46:37 +0000
+++ b/bzrlib/tests/blackbox/test_init.py 2010-12-16 15:29:10 +0000
@@ -226,9 +226,9 @@
# and uses whoami only in a lock file. Without whoami the login name
# is used. This test is to ensure that init passes even when whoami
# is not available.
- osutils.set_or_unset_env('EMAIL', None)
- osutils.set_or_unset_env('BZR_EMAIL', None)
+ self.overrideEnv('EMAIL', None)
+ self.overrideEnv('BZR_EMAIL', None)
out, err = self.run_bzr(['init', 'foo'])
self.assertEqual(err, '')
self.assertTrue(os.path.exists('foo'))
-
+
=== modified file 'bzrlib/tests/blackbox/test_shared_repository.py'
--- a/bzrlib/tests/blackbox/test_shared_repository.py 2010-05-05 14:02:53 +0000
+++ b/bzrlib/tests/blackbox/test_shared_repository.py 2010-12-16 15:29:10 +0000
@@ -155,8 +155,8 @@
# and uses whoami only in a lock file. Without whoami the login name
# is used. This test is to ensure that init-repo passes even when whoami
# is not available.
- osutils.set_or_unset_env('EMAIL', None)
- osutils.set_or_unset_env('BZR_EMAIL', None)
+ self.overrideEnv('EMAIL', None)
+ self.overrideEnv('BZR_EMAIL', None)
out, err = self.run_bzr(['init-repo', 'foo'])
self.assertEqual(err, '')
self.assertTrue(os.path.exists('foo'))
=== modified file 'bzrlib/tests/blackbox/test_whoami.py'
--- a/bzrlib/tests/blackbox/test_whoami.py 2010-12-16 13:15:42 +0000
+++ b/bzrlib/tests/blackbox/test_whoami.py 2010-12-16 15:29:10 +0000
@@ -94,8 +94,8 @@
def test_whoami_not_set(self):
"""Ensure whoami error if username is not set.
"""
- osutils.set_or_unset_env('EMAIL', None)
- osutils.set_or_unset_env('BZR_EMAIL', None)
+ self.overrideEnv('EMAIL', None)
+ self.overrideEnv('BZR_EMAIL', None)
out, err = self.run_bzr(['whoami'], 3)
self.assertContainsRe(err, 'Unable to determine your name')
=== modified file 'bzrlib/tests/test_msgeditor.py'
--- a/bzrlib/tests/test_msgeditor.py 2010-12-16 13:15:42 +0000
+++ b/bzrlib/tests/test_msgeditor.py 2010-12-16 15:29:10 +0000
@@ -320,23 +320,20 @@
self.assertFileEqual('', msgfilename)
def test_unsupported_encoding_commit_message(self):
- old_env = osutils.set_or_unset_env('LANG', 'C')
- try:
- # LANG env variable has no effect on Windows
- # but some characters anyway cannot be represented
- # in default user encoding
- char = probe_bad_non_ascii(osutils.get_user_encoding())
- if char is None:
- raise TestSkipped('Cannot find suitable non-ascii character '
- 'for user_encoding (%s)' % osutils.get_user_encoding())
-
- self.make_fake_editor(message=char)
-
- working_tree = self.make_uncommitted_tree()
- self.assertRaises(errors.BadCommitMessageEncoding,
- msgeditor.edit_commit_message, '')
- finally:
- osutils.set_or_unset_env('LANG', old_env)
+ self.overrideEnv('LANG', 'C')
+ # LANG env variable has no effect on Windows
+ # but some characters anyway cannot be represented
+ # in default user encoding
+ char = probe_bad_non_ascii(osutils.get_user_encoding())
+ if char is None:
+ raise TestSkipped('Cannot find suitable non-ascii character '
+ 'for user_encoding (%s)' % osutils.get_user_encoding())
+
+ self.make_fake_editor(message=char)
+
+ working_tree = self.make_uncommitted_tree()
+ self.assertRaises(errors.BadCommitMessageEncoding,
+ msgeditor.edit_commit_message, '')
def test_generate_commit_message_template_no_hooks(self):
commit_obj = commit.Commit()
=== modified file 'bzrlib/tests/test_osutils.py'
--- a/bzrlib/tests/test_osutils.py 2010-12-16 13:15:42 +0000
+++ b/bzrlib/tests/test_osutils.py 2010-12-16 15:29:10 +0000
@@ -2070,7 +2070,7 @@
class TestGetuserUnicode(tests.TestCase):
def test_ascii_user(self):
- osutils.set_or_unset_env('LOGNAME', 'jrandom')
+ self.overrideEnv('LOGNAME', 'jrandom')
self.assertEqual(u'jrandom', osutils.getuser_unicode())
def test_unicode_user(self):
@@ -2082,9 +2082,9 @@
% (osutils.get_user_encoding(),))
uni_username = u'jrandom' + uni_val
encoded_username = uni_username.encode(ue)
- osutils.set_or_unset_env('LOGNAME', encoded_username)
+ self.overrideEnv('LOGNAME', encoded_username)
self.assertEqual(uni_username, osutils.getuser_unicode())
- osutils.set_or_unset_env('LOGNAME', u'jrandom\xb6'.encode(ue))
+ self.overrideEnv('LOGNAME', u'jrandom\xb6'.encode(ue))
self.assertEqual(u'jrandom\xb6', osutils.getuser_unicode())
class TestBackupNames(tests.TestCase):
=== modified file 'bzrlib/tests/test_osutils_encodings.py'
--- a/bzrlib/tests/test_osutils_encodings.py 2010-12-16 13:15:42 +0000
+++ b/bzrlib/tests/test_osutils_encodings.py 2010-12-16 15:29:10 +0000
@@ -171,8 +171,6 @@
def setUp(self):
TestCase.setUp(self)
self.overrideAttr(locale, 'getpreferredencoding')
- self.addCleanup(osutils.set_or_unset_env,
- 'LANG', os.environ.get('LANG'))
self.overrideAttr(sys, 'stderr', StringIOWrapper())
def test_get_user_encoding(self):
@@ -181,7 +179,8 @@
locale.getpreferredencoding = f
fake_codec.add('user_encoding')
- self.assertEquals('user_encoding', osutils.get_user_encoding(use_cache=False))
+ self.assertEquals('user_encoding',
+ osutils.get_user_encoding(use_cache=False))
self.assertEquals('', sys.stderr.getvalue())
def test_user_cp0(self):
=== modified file 'bzrlib/tests/test_plugins.py'
--- a/bzrlib/tests/test_plugins.py 2010-12-16 13:15:42 +0000
+++ b/bzrlib/tests/test_plugins.py 2010-12-16 15:29:10 +0000
@@ -692,7 +692,7 @@
def _set_path(self, *args):
path = os.pathsep.join(self._list2paths(*args))
- osutils.set_or_unset_env('BZR_PLUGIN_PATH', path)
+ self.overrideEnv('BZR_PLUGIN_PATH', path)
def check_path(self, expected_dirs, setting_dirs):
if setting_dirs:
@@ -779,7 +779,7 @@
self.addCleanup(self._unregister_plugin, 'test_foo')
def test_cannot_import(self):
- osutils.set_or_unset_env('BZR_DISABLE_PLUGINS', 'test_foo')
+ self.overrideEnv('BZR_DISABLE_PLUGINS', 'test_foo')
plugin.set_plugins_path(['.'])
try:
import bzrlib.plugins.test_foo
@@ -801,7 +801,7 @@
self.overrideAttr(trace, 'warning', captured_warning)
# Reset the flag that protect against double loading
self.overrideAttr(plugin, '_loaded', False)
- osutils.set_or_unset_env('BZR_DISABLE_PLUGINS', 'test_foo')
+ self.overrideEnv('BZR_DISABLE_PLUGINS', 'test_foo')
plugin.load_plugins(['.'])
self.assertPluginUnknown('test_foo')
# Make sure we don't warn about the plugin ImportError since this has
@@ -859,7 +859,7 @@
self.assertTestFooLoadedFrom('standard/test_foo')
def test_import(self):
- osutils.set_or_unset_env('BZR_PLUGINS_AT', 'test_foo at non-standard-dir')
+ self.overrideEnv('BZR_PLUGINS_AT', 'test_foo at non-standard-dir')
plugin.set_plugins_path(['standard'])
try:
import bzrlib.plugins.test_foo
@@ -868,12 +868,12 @@
self.assertTestFooLoadedFrom('non-standard-dir')
def test_loading(self):
- osutils.set_or_unset_env('BZR_PLUGINS_AT', 'test_foo at non-standard-dir')
+ self.overrideEnv('BZR_PLUGINS_AT', 'test_foo at non-standard-dir')
plugin.load_plugins(['standard'])
self.assertTestFooLoadedFrom('non-standard-dir')
def test_compiled_loaded(self):
- osutils.set_or_unset_env('BZR_PLUGINS_AT', 'test_foo at non-standard-dir')
+ self.overrideEnv('BZR_PLUGINS_AT', 'test_foo at non-standard-dir')
plugin.load_plugins(['standard'])
self.assertTestFooLoadedFrom('non-standard-dir')
self.assertIsSameRealPath('non-standard-dir/__init__.py',
@@ -896,7 +896,7 @@
self.create_plugin_package('test_bar', dir='non-standard-dir/test_bar')
self.addCleanup(self._unregister_plugin_submodule,
'test_foo', 'test_bar')
- osutils.set_or_unset_env('BZR_PLUGINS_AT', 'test_foo at non-standard-dir')
+ self.overrideEnv('BZR_PLUGINS_AT', 'test_foo at non-standard-dir')
plugin.set_plugins_path(['standard'])
import bzrlib.plugins.test_foo
self.assertEqual('bzrlib.plugins.test_foo',
@@ -913,7 +913,7 @@
self.create_plugin_package('test_bar', dir='another-dir/test_bar')
self.addCleanup(self._unregister_plugin_submodule,
'test_foo', 'test_bar')
- osutils.set_or_unset_env('BZR_PLUGINS_AT', 'test_foo at another-dir')
+ self.overrideEnv('BZR_PLUGINS_AT', 'test_foo at another-dir')
plugin.set_plugins_path(['standard'])
import bzrlib.plugins.test_foo
self.assertEqual('bzrlib.plugins.test_foo',
@@ -928,7 +928,7 @@
random = 'non-standard-dir/setup.py'
os.rename(init, random)
self.addCleanup(os.rename, random, init)
- osutils.set_or_unset_env('BZR_PLUGINS_AT', 'test_foo at non-standard-dir')
+ self.overrideEnv('BZR_PLUGINS_AT', 'test_foo at non-standard-dir')
plugin.load_plugins(['standard'])
self.assertPluginUnknown('test_foo')
@@ -942,6 +942,6 @@
''' % ('test_foo', plugin_path)
self.create_plugin('test_foo', source=source,
dir=plugin_dir, file_name=plugin_file_name)
- osutils.set_or_unset_env('BZR_PLUGINS_AT', 'test_foo@%s' % plugin_path)
+ self.overrideEnv('BZR_PLUGINS_AT', 'test_foo@%s' % plugin_path)
plugin.load_plugins(['standard'])
self.assertTestFooLoadedFrom(plugin_path)
=== modified file 'bzrlib/tests/test_sftp_transport.py'
--- a/bzrlib/tests/test_sftp_transport.py 2010-06-23 08:17:20 +0000
+++ b/bzrlib/tests/test_sftp_transport.py 2010-12-16 15:29:10 +0000
@@ -32,7 +32,6 @@
from bzrlib.osutils import (
pathjoin,
lexists,
- set_or_unset_env,
)
from bzrlib.tests import (
features,
@@ -174,27 +173,21 @@
"""Test that if no 'ssh' is available we get builtin paramiko"""
from bzrlib.transport import ssh
# set '.' as the only location in the path, forcing no 'ssh' to exist
- orig_vendor = ssh._ssh_vendor_manager._cached_ssh_vendor
- orig_path = set_or_unset_env('PATH', '.')
- try:
- # No vendor defined yet, query for one
- ssh._ssh_vendor_manager.clear_cache()
- vendor = ssh._get_ssh_vendor()
- self.assertIsInstance(vendor, ssh.ParamikoVendor)
- finally:
- set_or_unset_env('PATH', orig_path)
- ssh._ssh_vendor_manager._cached_ssh_vendor = orig_vendor
+ self.overrideAttr(ssh, '_ssh_vendor_manager')
+ self.overrideEnv('PATH' '.')
+ ssh._ssh_vendor_manager.clear_cache()
+ vendor = ssh._get_ssh_vendor()
+ self.assertIsInstance(vendor, ssh.ParamikoVendor)
def test_abspath_root_sibling_server(self):
server = stub_sftp.SFTPSiblingAbsoluteServer()
server.start_server()
- try:
- transport = _mod_transport.get_transport(server.get_url())
- self.assertFalse(transport.abspath('/').endswith('/~/'))
- self.assertTrue(transport.abspath('/').endswith('/'))
- del transport
- finally:
- server.stop_server()
+ self.addCleanup(server.stop_server)
+
+ transport = _mod_transport.get_transport(server.get_url())
+ self.assertFalse(transport.abspath('/').endswith('/~/'))
+ self.assertTrue(transport.abspath('/').endswith('/'))
+ del transport
class SFTPBranchTest(TestCaseWithSFTPServer):
More information about the bazaar-commits
mailing list