blob: b741d4bc32df637fb7d149864e1e32f80703ef06 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
if(NOT DEFINED SERVER OR NOT EXISTS "${SERVER}")
message(FATAL_ERROR "SERVER does not name a built tiny-convmem-mcp executable")
endif()
if(NOT DEFINED INPUT OR NOT EXISTS "${INPUT}")
message(FATAL_ERROR "INPUT does not name the smoke-test fixture")
endif()
execute_process(
COMMAND "${SERVER}"
INPUT_FILE "${INPUT}"
OUTPUT_VARIABLE server_output
ERROR_VARIABLE server_error
RESULT_VARIABLE server_result
TIMEOUT 10
)
if(NOT server_result EQUAL 0)
message(FATAL_ERROR
"Server exited with ${server_result}.\nstdout: ${server_output}\nstderr: ${server_error}"
)
endif()
foreach(expected
"\"protocolVersion\":\"2024-11-05\""
"\"serverInfo\""
"\"capabilities\""
"\"name\":\"health\""
"\"type\":\"text\""
"\"text\":\"ok\""
)
string(FIND "${server_output}" "${expected}" match_position)
if(match_position EQUAL -1)
message(FATAL_ERROR
"Expected ${expected} in MCP output.\nstdout: ${server_output}\nstderr: ${server_error}"
)
endif()
endforeach()
message(STATUS "MCP initialize, tools/list, and health tools/call succeeded")
|