diff options
| -rw-r--r-- | tests/server/test_tac.py | 15 | 
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()  | 
