Rev 5267: Use a proper load_tests. in file:///home/vila/src/bzr/experimental/leaking-tests/

Vincent Ladeuil v.ladeuil+lp at free.fr
Thu Jun 3 19:32:06 BST 2010


At file:///home/vila/src/bzr/experimental/leaking-tests/

------------------------------------------------------------
revno: 5267
revision-id: v.ladeuil+lp at free.fr-20100603183206-jlk1gjq9egmru3k9
parent: v.ladeuil+lp at free.fr-20100603174049-st3ip75ad46j3npv
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: propagate-exceptions
timestamp: Thu 2010-06-03 20:32:06 +0200
message:
  Use a proper load_tests.
-------------- next part --------------
=== modified file 'bzrlib/tests/test_server.py'
--- a/bzrlib/tests/test_server.py	2010-06-03 17:40:49 +0000
+++ b/bzrlib/tests/test_server.py	2010-06-03 18:32:06 +0000
@@ -452,7 +452,7 @@
             t.join()
 
 
-class TestingTCPServerInAThread(object):
+class TestingTCPServerInAThread(transport.Server):
     """A server in a thread that re-raise thread exceptions."""
 
     def __init__(self, server_address, server_class, request_handler_class):
@@ -461,6 +461,9 @@
         self.server_address = server_address
         self.server = None
 
+    def __repr__(self):
+        return "%s%r" % (self.__class__.__name__, self.server_address)
+
     def create_server(self):
         return self.server_class(self.server_address,
                                  self.request_handler_class)

=== modified file 'bzrlib/tests/test_test_server.py'
--- a/bzrlib/tests/test_test_server.py	2010-06-03 17:40:49 +0000
+++ b/bzrlib/tests/test_test_server.py	2010-06-03 18:32:06 +0000
@@ -24,6 +24,19 @@
     )
 from bzrlib.tests import test_server
 
+
+def load_tests(basic_tests, module, loader):
+    suite = loader.suiteClass()
+    server_tests, remaining_tests = tests.split_suite_by_condition(
+        basic_tests, tests.condition_isinstance(TestTCPServerInAThread))
+    server_scenarios = [ (name, {'server_class': getattr(test_server, name)})
+                         for name in
+                         ('TestingTCPServer', 'TestingThreadingTCPServer')]
+    tests.multiply_tests(server_tests, server_scenarios, suite)
+    suite.addTest(remaining_tests)
+    return suite
+
+
 class TCPClient(object):
 
     def __init__(self):
@@ -75,7 +88,8 @@
 
 class TestTCPServerInAThread(tests.TestCase):
 
-    server_class = test_server.TestingTCPServer
+    # Set by load_tests()
+    server_class = None
 
     def get_server(self, server_class=None, connection_handler_class=None):
         if server_class is not None:
@@ -159,7 +173,4 @@
         # Now the server has raise the exception in its own thread
         self.assertRaises(ServerFailure, server.stop_server)
 
-class TestThreadingTCPServerInAThread(TestTCPServerInAThread):
-
-    server_class = test_server.TestingThreadingTCPServer
 



More information about the bazaar-commits mailing list