Rev 5930: Fix spurious test test_server_exception_with_hook failure in file:///home/vila/src/bzr/bugs/789167-test-server/
Vincent Ladeuil
v.ladeuil+lp at free.fr
Sat May 28 08:40:17 UTC 2011
At file:///home/vila/src/bzr/bugs/789167-test-server/
------------------------------------------------------------
revno: 5930
revision-id: v.ladeuil+lp at free.fr-20110528084017-1t8dsk8r10x5qu0u
parent: pqm at pqm.ubuntu.com-20110527171203-s50ymd0mviaw4c7k
fixes bug(s): https://launchpad.net/bugs/789167
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: 789167-test-server
timestamp: Sat 2011-05-28 10:40:17 +0200
message:
Fix spurious test test_server_exception_with_hook failure
-------------- next part --------------
=== modified file 'bzrlib/smart/server.py'
--- a/bzrlib/smart/server.py 2011-05-27 13:12:09 +0000
+++ b/bzrlib/smart/server.py 2011-05-28 08:40:17 +0000
@@ -136,10 +136,10 @@
def serve(self, thread_name_suffix=''):
self._should_terminate = False
+ self._started.set()
# for hooks we are letting code know that a server has started (and
# later stopped).
self.run_server_started_hooks()
- self._started.set()
try:
try:
while not self._should_terminate:
=== modified file 'bzrlib/tests/blackbox/test_serve.py'
--- a/bzrlib/tests/blackbox/test_serve.py 2011-05-27 13:12:23 +0000
+++ b/bzrlib/tests/blackbox/test_serve.py 2011-05-28 08:40:17 +0000
@@ -81,7 +81,8 @@
'run_bzr_serve_then_func hook')
# start a TCP server
try:
- out, err = self.run_bzr(['serve'] + list(serve_args), retcode=retcode)
+ out, err = self.run_bzr(['serve'] + list(serve_args),
+ retcode=retcode)
except KeyboardInterrupt, e:
out, err = e.args
return out, err
@@ -102,9 +103,12 @@
SmartTCPServer.hooks.install_named_hook(
'server_exception', hook,
'test_server_except_hook hook')
- args = []
+ args = ['--port', 'localhost:0']
out, err = self.run_bzr_serve_then_func(args, retcode=0)
- self.assertEqual('listening on port: 4155\ncatching exception\n', err)
+ err_lines = err.splitlines()
+ self.assertLength(2, err_lines)
+ self.assertStartsWith(err_lines[0],'listening on port:')
+ self.assertEqual('catching exception', err_lines[1])
def test_server_exception_no_hook(self):
"""test exception without hook returns error"""
=== modified file 'doc/en/release-notes/bzr-2.4.txt'
--- a/doc/en/release-notes/bzr-2.4.txt 2011-05-27 17:12:03 +0000
+++ b/doc/en/release-notes/bzr-2.4.txt 2011-05-28 08:40:17 +0000
@@ -36,6 +36,9 @@
.. Fixes for situations where bzr would previously crash or give incorrect
or undesirable results.
+* Fix a race condition for ``server_started`` hooks leading to a spurious
+ test failure. (Vincent Ladeuil, #789167)
+
* Pass the ``build_mo`` command to the rest of the setup() calls in
setup.py. The ``bdist_wininst`` and ``py2exe`` code paths were failing
because ``build_mo`` became a required step that they didn't know about.
More information about the bazaar-commits
mailing list