diff --git a/tests/fixtures.py b/tests/fixtures.py index 2156b0d5a..16e2c1296 100644 --- a/tests/fixtures.py +++ b/tests/fixtures.py @@ -201,8 +201,15 @@ def _running_eventlet_server(app): process = ctx.Process(target=eventlet.wsgi.server, args=(socket, app), daemon=True) try: process.start() + start_time = time.time() + sleep_time = 0.01 while not is_url_response_ok(urllib.parse.urljoin(url, "index")): - time.sleep(0.5) + if (time.time() - start_time) > 5: + raise RuntimeError(f"Server did not start within 5 seconds at {url}") + time.sleep(sleep_time) + sleep_time *= 2 + if sleep_time > 1: + sleep_time = 1 yield url finally: process.terminate()