From: Georgi Gerganov Date: Fri, 7 Aug 2026 18:38:32 +0000 (+0300) Subject: tests : speed-up server test suite 3x (#26734) X-Git-Tag: upstream/0.0.10438~114 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=1621a3d388b74856e7172fd797e69364d52b7a5b;p=pkg%2Fggml%2Fsources%2Fllama.cpp tests : speed-up server test suite 3x (#26734) * tests : speed-up test suite 3x * cont : print 30 slowest tests --- diff --git a/tools/server/tests/conftest.py b/tools/server/tests/conftest.py index c7ed77596..5dfde4079 100644 --- a/tools/server/tests/conftest.py +++ b/tools/server/tests/conftest.py @@ -15,7 +15,7 @@ def stop_server_after_each_test(): server.stop() -@pytest.fixture(scope="module", autouse=True) -def do_something(): +@pytest.fixture(scope="session", autouse=True) +def load_server_presets(): # this will be run once per test session, before any tests ServerPreset.load_all() diff --git a/tools/server/tests/tests.sh b/tools/server/tests/tests.sh index 709b5841a..8d6681193 100755 --- a/tools/server/tests/tests.sh +++ b/tools/server/tests/tests.sh @@ -14,10 +14,10 @@ fi if [ $# -lt 1 ] then if [[ "${SLOW_TESTS:-0}" == 1 ]]; then - pytest -v -x + pytest --durations=30 -v -x else - pytest -v -x -m "not slow" + pytest --durations=30 -v -x -m "not slow" fi else - pytest "$@" + pytest --durations=30 "$@" fi diff --git a/tools/server/tests/unit/test_router.py b/tools/server/tests/unit/test_router.py index c503ee342..5ab62666c 100644 --- a/tools/server/tests/unit/test_router.py +++ b/tools/server/tests/unit/test_router.py @@ -85,7 +85,7 @@ def _wait_for_model_status(model_id: str, desired: set[str], timeout: int = 60) last_status = _get_model_status(model_id) if last_status in desired: return last_status - time.sleep(1) + time.sleep(0.01) raise AssertionError( f"Timed out waiting for {model_id} to reach {desired}, last status: {last_status}" ) @@ -460,7 +460,7 @@ def _wait_for_sse_event(collected: list, event_type: str, model: str, timeout: i while time.time() < deadline: if any(e.get("event") == event_type and e.get("model") == model for e in collected): return True - time.sleep(0.5) + time.sleep(0.01) return False diff --git a/tools/server/tests/utils.py b/tools/server/tests/utils.py index 8f3a98642..3416f0bfd 100644 --- a/tools/server/tests/utils.py +++ b/tools/server/tests/utils.py @@ -306,6 +306,7 @@ class ServerProcess: # wait for server to start start_time = time.time() + last_print_time = start_time while time.time() - start_time < timeout_seconds: try: response = self.make_request("GET", "/health", headers={ @@ -320,8 +321,10 @@ class ServerProcess: if self.process.poll() is not None: raise RuntimeError(f"Server process died with return code {self.process.returncode}") - print(f"Waiting for server to start...") - time.sleep(0.5) + if time.time() - last_print_time >= 1.0: + print(f"Waiting for server to start...") + last_print_time = time.time() + time.sleep(0.01) raise TimeoutError(f"Server did not start within {timeout_seconds} seconds") def stop(self) -> None: