Rev 5573: (vila) Fix test isolation leaks destroying env variables. (Vincent Ladeuil) in file:///home/pqm/archives/thelove/bzr/%2Btrunk/

Canonical.com Patch Queue Manager pqm at pqm.ubuntu.com
Thu Dec 16 15:15:21 GMT 2010


At file:///home/pqm/archives/thelove/bzr/%2Btrunk/

------------------------------------------------------------
revno: 5573 [merge]
revision-id: pqm at pqm.ubuntu.com-20101216151517-qoslvcss5y1sivi6
parent: pqm at pqm.ubuntu.com-20101216073124-20n1cshje27j3a2i
parent: v.ladeuil+lp at free.fr-20101216143957-6b7n7c4j3smj1nhb
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Thu 2010-12-16 15:15:17 +0000
message:
  (vila) Fix test isolation leaks destroying env variables. (Vincent Ladeuil)
modified:
  bzrlib/tests/__init__.py       selftest.py-20050531073622-8d0e3c8845c97a64
  bzrlib/tests/test_http.py      testhttp.py-20051018020158-b2eef6e867c514d9
  bzrlib/tests/test_https_ca_bundle.py test_https_ca_bundle-20070226095439-x5899kvqg7xsbk8e-1
  doc/en/release-notes/bzr-2.3.txt NEWS-20050323055033-4e00b5db738777ff
=== modified file 'bzrlib/tests/__init__.py'
--- a/bzrlib/tests/__init__.py	2010-12-02 10:41:05 +0000
+++ b/bzrlib/tests/__init__.py	2010-12-16 14:39:57 +0000
@@ -3842,7 +3842,13 @@
         return []
     return [
         'bzrlib',
-        'bzrlib.branchbuilder',
+        # FIXME: Fixing bug #690563 revealed an isolation problem in the single
+        # doctest for branchbuilder. Uncomment this when bug #321320 is fixed
+        # to ensure the issue is addressed (note that to reproduce the bug in
+        # the doctest below, one should comment the 'email' config var in
+        # bazaar.conf (or anywhere else). This means an setup where *no* user
+        # is being set at all in the environment.
+#       'bzrlib.branchbuilder',
         'bzrlib.decorators',
         'bzrlib.export',
         'bzrlib.inventory',

=== modified file 'bzrlib/tests/test_http.py'
--- a/bzrlib/tests/test_http.py	2010-12-14 16:27:12 +0000
+++ b/bzrlib/tests/test_http.py	2010-12-15 16:39:25 +0000
@@ -1075,15 +1075,15 @@
 
     def setUp(self):
         tests.TestCase.setUp(self)
-        self._old_env = {}
+        self._http_saved_env = {}
         self.addCleanup(self._restore_env)
 
     def _install_env(self, env):
         for name, value in env.iteritems():
-            self._old_env[name] = osutils.set_or_unset_env(name, value)
+            self._http_saved_env[name] = osutils.set_or_unset_env(name, value)
 
     def _restore_env(self):
-        for name, value in self._old_env.iteritems():
+        for name, value in self._http_saved_env.iteritems():
             osutils.set_or_unset_env(name, value)
 
     def _proxied_request(self):
@@ -1136,7 +1136,7 @@
             self.no_proxy_host = self.server_host_port
         # The secondary server is the proxy
         self.proxy_url = self.get_secondary_url()
-        self._old_env = {}
+        self._http_saved_env = {}
 
     def _testing_pycurl(self):
         # TODO: This is duplicated for lots of the classes in this file
@@ -1145,10 +1145,10 @@
 
     def _install_env(self, env):
         for name, value in env.iteritems():
-            self._old_env[name] = osutils.set_or_unset_env(name, value)
+            self._http_saved_env[name] = osutils.set_or_unset_env(name, value)
 
     def _restore_env(self):
-        for name, value in self._old_env.iteritems():
+        for name, value in self._http_saved_env.iteritems():
             osutils.set_or_unset_env(name, value)
 
     def proxied_in_env(self, env):
@@ -1707,7 +1707,7 @@
 
     def setUp(self):
         super(TestProxyAuth, self).setUp()
-        self._old_env = {}
+        self._http_saved_env = {}
         self.addCleanup(self._restore_env)
         # Override the contents to avoid false positives
         self.build_tree_contents([('a', 'not proxied contents of a\n'),
@@ -1722,10 +1722,10 @@
 
     def _install_env(self, env):
         for name, value in env.iteritems():
-            self._old_env[name] = osutils.set_or_unset_env(name, value)
+            self._http_saved_env[name] = osutils.set_or_unset_env(name, value)
 
     def _restore_env(self):
-        for name, value in self._old_env.iteritems():
+        for name, value in self._http_saved_env.iteritems():
             osutils.set_or_unset_env(name, value)
 
     def test_empty_pass(self):

=== modified file 'bzrlib/tests/test_https_ca_bundle.py'
--- a/bzrlib/tests/test_https_ca_bundle.py	2009-03-23 14:59:43 +0000
+++ b/bzrlib/tests/test_https_ca_bundle.py	2010-12-15 16:39:25 +0000
@@ -36,13 +36,13 @@
             'CURL_CA_BUNDLE': None,
             'PATH': None,
             }
-        self._old_env = {}
+        self._http_saved_env = {}
         self.addCleanup(self._restore)
         for name, value in new_env.iteritems():
-            self._old_env[name] = osutils.set_or_unset_env(name, None)
+            self._http_saved_env[name] = osutils.set_or_unset_env(name, None)
 
     def _restore(self):
-        for name, value in self._old_env.iteritems():
+        for name, value in self._http_saved_env.iteritems():
             osutils.set_or_unset_env(name, value)
 
     def _make_file(self, in_dir='.'):

=== modified file 'doc/en/release-notes/bzr-2.3.txt'
--- a/doc/en/release-notes/bzr-2.3.txt	2010-12-16 06:24:14 +0000
+++ b/doc/en/release-notes/bzr-2.3.txt	2010-12-16 15:15:17 +0000
@@ -40,6 +40,10 @@
   designated by the action. This will *ignore* all differences that would
   have been merge cleanly otherwise. (Vincent Ladeuil, #638451)
 
+* ``bt.test_http`` was breaking ``os.environ`` by erasing the values saved by
+  ``TestCase`` leading to ``bt.test_import_tariff`` failures.
+  (Vincent Ladeuil, #690563)
+
 Bug Fixes
 *********
 




More information about the bazaar-commits mailing list