summaryrefslogtreecommitdiff
path: root/llama.cpp/tools/server/tests/unit/test_sleep.py
diff options
context:
space:
mode:
Diffstat (limited to 'llama.cpp/tools/server/tests/unit/test_sleep.py')
-rw-r--r--llama.cpp/tools/server/tests/unit/test_sleep.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/llama.cpp/tools/server/tests/unit/test_sleep.py b/llama.cpp/tools/server/tests/unit/test_sleep.py
new file mode 100644
index 0000000..3374165
--- /dev/null
+++ b/llama.cpp/tools/server/tests/unit/test_sleep.py
@@ -0,0 +1,39 @@
+import pytest
+import time
+from utils import *
+
+server = ServerPreset.tinyllama2()
+
+
+@pytest.fixture(autouse=True)
+def create_server():
+ global server
+ server = ServerPreset.tinyllama2()
+
+
+def test_server_sleep():
+ global server
+ server.sleep_idle_seconds = 1
+ server.start()
+
+ # wait a bit so that server can go to sleep
+ time.sleep(2)
+
+ # make sure these endpoints are still responsive after sleep
+ res = server.make_request("GET", "/health")
+ assert res.status_code == 200
+ res = server.make_request("GET", "/props")
+ assert res.status_code == 200
+ assert res.body["is_sleeping"] == True
+
+ # make a generation request to wake up the server
+ res = server.make_request("POST", "/completion", data={
+ "n_predict": 1,
+ "prompt": "Hello",
+ })
+ assert res.status_code == 200
+
+ # it should no longer be sleeping
+ res = server.make_request("GET", "/props")
+ assert res.status_code == 200
+ assert res.body["is_sleeping"] == False