summaryrefslogtreecommitdiff
path: root/tests/smoke.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'tests/smoke.cmake')
-rw-r--r--tests/smoke.cmake21
1 files changed, 17 insertions, 4 deletions
diff --git a/tests/smoke.cmake b/tests/smoke.cmake
index b741d4b..2481297 100644
--- a/tests/smoke.cmake
+++ b/tests/smoke.cmake
@@ -4,9 +4,14 @@ endif()
if(NOT DEFINED INPUT OR NOT EXISTS "${INPUT}")
message(FATAL_ERROR "INPUT does not name the smoke-test fixture")
endif()
+if(NOT DEFINED DATA_DIR)
+ message(FATAL_ERROR "DATA_DIR is required")
+endif()
+
+file(REMOVE_RECURSE "${DATA_DIR}")
execute_process(
- COMMAND "${SERVER}"
+ COMMAND "${SERVER}" --data-dir "${DATA_DIR}"
INPUT_FILE "${INPUT}"
OUTPUT_VARIABLE server_output
ERROR_VARIABLE server_error
@@ -24,9 +29,17 @@ foreach(expected
"\"protocolVersion\":\"2024-11-05\""
"\"serverInfo\""
"\"capabilities\""
- "\"name\":\"health\""
+ "\"name\":\"write_message\""
+ "\"name\":\"read_messages\""
+ "\"name\":\"search_messages\""
+ "\"name\":\"delete_message\""
+ "\"name\":\"rebuild_index\""
+ "\"name\":\"get_system_health\""
+ "\"required\":[\"session_id\",\"role\",\"content\"]"
"\"type\":\"text\""
- "\"text\":\"ok\""
+ "\\\"status\\\":\\\"OK\\\""
+ "\\\"code\\\":\\\"VALIDATION_ERROR\\\""
+ "hello durable memory"
)
string(FIND "${server_output}" "${expected}" match_position)
if(match_position EQUAL -1)
@@ -36,4 +49,4 @@ foreach(expected
endif()
endforeach()
-message(STATUS "MCP initialize, tools/list, and health tools/call succeeded")
+message(STATUS "MCP initialize, six-tool listing, write, read, search, rebuild, and health succeeded")