summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/server/test_tac.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/tests/server/test_tac.py b/tests/server/test_tac.py
index 7bb50e35..e2e15f44 100644
--- a/tests/server/test_tac.py
+++ b/tests/server/test_tac.py
@@ -70,7 +70,20 @@ class TacServerTestCase(unittest.TestCase):
t = reactor.spawnProcess(protocol, executable, args, env=env)
self.addCleanup(os.kill, t.pid, signal.SIGKILL)
self.addCleanup(t.loseConnection)
- return self._sleep(1) # it takes a while to start server
+ d = self._wait_for_server()
+ return d
+
+ @defer.inlineCallbacks
+ def _wait_for_server(self, retries=10):
+ while retries:
+ retries -= 1
+ yield self._sleep(1)
+ try:
+ yield self._get('http://localhost:2525')
+ break
+ except Exception as e:
+ if not retries:
+ raise e
def _sleep(self, time):
d = defer.Deferred()