Rev 5300: Use SmartTCPServer_for_testing for TestSmartTCPServer.test_get_error_unexpected. in file:///home/vila/src/bzr/experimental/leaking-tests/

Vincent Ladeuil v.ladeuil+lp at free.fr
Thu Jul 1 09:04:33 BST 2010


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

------------------------------------------------------------
revno: 5300
revision-id: v.ladeuil+lp at free.fr-20100701080433-z32vd29j5k2v74oz
parent: v.ladeuil+lp at free.fr-20100701064102-bdp2o7dncwy77o0u
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: smart-server-leaks
timestamp: Thu 2010-07-01 10:04:33 +0200
message:
  Use SmartTCPServer_for_testing for TestSmartTCPServer.test_get_error_unexpected.
-------------- next part --------------
=== modified file 'bzrlib/tests/test_smart_transport.py'
--- a/bzrlib/tests/test_smart_transport.py	2010-06-30 16:37:09 +0000
+++ b/bzrlib/tests/test_smart_transport.py	2010-07-01 08:04:33 +0000
@@ -40,7 +40,10 @@
         server,
         vfs,
 )
-from bzrlib.tests import test_smart
+from bzrlib.tests import (
+    test_smart,
+    test_server,
+    )
 from bzrlib.transport import (
         http,
         local,
@@ -972,19 +975,21 @@
             base = 'a_url'
             def external_url(self):
                 return self.base
-            def get_bytes(self, path):
+            def get(self, path):
                 raise Exception("some random exception from inside server")
-        smart_server = server.SmartTCPServer(backing_transport=FlakyTransport())
-        smart_server._create_server_socket('127.0.0.1', 0)
-        smart_server.start_background_thread('-' + self.id())
-        try:
-            transport = remote.RemoteTCPTransport(smart_server.get_url())
-            err = self.assertRaises(errors.UnknownErrorFromSmartServer,
-                transport.get, 'something')
-            self.assertContainsRe(str(err), 'some random exception')
-            transport.disconnect()
-        finally:
-            smart_server.stop_background_thread()
+
+        class FlakyServer(test_server.SmartTCPServer_for_testing):
+            def get_backing_transport(self, backing_transport_server):
+                return FlakyTransport()
+
+        smart_server = FlakyServer()
+        smart_server.start_server()
+        self.addCleanup(smart_server.stop_server)
+        t = remote.RemoteTCPTransport(smart_server.get_url())
+        self.addCleanup(t.disconnect)
+        err = self.assertRaises(errors.UnknownErrorFromSmartServer,
+                                t.get, 'something')
+        self.assertContainsRe(str(err), 'some random exception')
 
 
 class SmartTCPTests(tests.TestCase):



More information about the bazaar-commits mailing list