Rev 6508: Provide fresh config stores for tests. in file:///home/vila/src/bzr/bugs/832042-shared-stores/

Vincent Ladeuil v.ladeuil+lp at free.fr
Fri Aug 3 11:23:55 UTC 2012


At file:///home/vila/src/bzr/bugs/832042-shared-stores/

------------------------------------------------------------
revno: 6508
revision-id: v.ladeuil+lp at free.fr-20120803112355-3fh78wck6i12vv1h
parent: v.ladeuil+lp at free.fr-20120802114526-l8tr8jw5gmf26311
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: 832042-shared-stores
timestamp: Fri 2012-08-03 13:23:55 +0200
message:
  Provide fresh config stores for tests.
-------------- next part --------------
=== modified file 'bzrlib/tests/__init__.py'
--- a/bzrlib/tests/__init__.py	2012-08-02 11:45:26 +0000
+++ b/bzrlib/tests/__init__.py	2012-08-03 11:23:55 +0000
@@ -1001,6 +1001,8 @@
     def setUp(self):
         super(TestCase, self).setUp()
 
+        # At this point we're still accessing the config files in $BZR_HOME (as
+        # set by the user running selftest).
         timeout = config.GlobalStack().get('selftest.timeout')
         if timeout:
             timeout_fixture = fixtures.TimeoutFixture(timeout)
@@ -2447,6 +2449,34 @@
         self.transport_readonly_server = None
         self.__vfs_server = None
 
+    def setUp(self):
+        super(TestCaseWithMemoryTransport, self).setUp()
+
+        def _add_disconnect_cleanup(transport):
+            """Schedule disconnection of given transport at test cleanup
+
+            This needs to happen for all connected transports or leaks occur.
+
+            Note reconnections may mean we call disconnect multiple times per
+            transport which is suboptimal but seems harmless.
+            """
+            self.addCleanup(transport.disconnect)
+
+        _mod_transport.Transport.hooks.install_named_hook('post_connect',
+            _add_disconnect_cleanup, None)
+
+        self._make_test_root()
+        self.addCleanup(os.chdir, os.getcwdu())
+        self.makeAndChdirToTestDir()
+        self.overrideEnvironmentForTesting()
+        self.__readonly_server = None
+        self.__server = None
+        self.reduceLockdirTimeout()
+        # Each test may use its own config files even if the local config files
+        # don't actually exist. They'll rightly fail if they try to create them
+        # though.
+        self.overrideAttr(config, '_shared_stores', {})
+
     def get_transport(self, relpath=None):
         """Return a writeable transport.
 
@@ -2730,30 +2760,6 @@
         self.overrideEnv('HOME', test_home_dir)
         self.overrideEnv('BZR_HOME', test_home_dir)
 
-    def setUp(self):
-        super(TestCaseWithMemoryTransport, self).setUp()
-
-        def _add_disconnect_cleanup(transport):
-            """Schedule disconnection of given transport at test cleanup
-
-            This needs to happen for all connected transports or leaks occur.
-
-            Note reconnections may mean we call disconnect multiple times per
-            transport which is suboptimal but seems harmless.
-            """
-            self.addCleanup(transport.disconnect)
- 
-        _mod_transport.Transport.hooks.install_named_hook('post_connect',
-            _add_disconnect_cleanup, None)
-
-        self._make_test_root()
-        self.addCleanup(os.chdir, os.getcwdu())
-        self.makeAndChdirToTestDir()
-        self.overrideEnvironmentForTesting()
-        self.__readonly_server = None
-        self.__server = None
-        self.reduceLockdirTimeout()
-
     def setup_smart_server_with_call_log(self):
         """Sets up a smart server as the transport server with a call log."""
         self.transport_server = test_server.SmartTCPServer_for_testing
@@ -2946,6 +2952,10 @@
     readwrite one must both define get_url() as resolving to os.getcwd().
     """
 
+    def setUp(self):
+        super(TestCaseWithTransport, self).setUp()
+        self.__vfs_server = None
+
     def get_vfs_only_server(self):
         """See TestCaseWithMemoryTransport.
 
@@ -3034,10 +3044,6 @@
         self.assertFalse(differences.has_changed(),
             "Trees %r and %r are different: %r" % (left, right, differences))
 
-    def setUp(self):
-        super(TestCaseWithTransport, self).setUp()
-        self.__vfs_server = None
-
     def disable_missing_extensions_warning(self):
         """Some tests expect a precise stderr content.
 

=== modified file 'bzrlib/tests/blackbox/test_serve.py'
--- a/bzrlib/tests/blackbox/test_serve.py	2012-07-31 13:01:03 +0000
+++ b/bzrlib/tests/blackbox/test_serve.py	2012-08-03 11:23:55 +0000
@@ -274,7 +274,7 @@
     def test_bzr_serve_supports_configurable_timeout(self):
         gs = config.GlobalStack()
         gs.set('serve.client_timeout', 0.2)
-        # Set the config as the subprocess will use it
+        # Save the config as the subprocess will use it
         gs.store.save()
         process, url = self.start_server_port()
         self.build_tree_contents([('a_file', 'contents\n')])



More information about the bazaar-commits mailing list