summaryrefslogtreecommitdiff
path: root/tests/CMakeLists.txt
diff options
context:
space:
mode:
authortanaka takashi <isazaka@gmail.com>2026-06-30 19:03:25 +0900
committertanaka takashi <isazaka@gmail.com>2026-06-30 19:03:25 +0900
commit05c8e0a31a0d4192c590e833b24393208e1c751f (patch)
treef7c2c82c9327abde67bf3acf1d0258573b3bc6c2 /tests/CMakeLists.txt
parent4bc721c3bf7589b519c5730d093f704ce56e3f09 (diff)
fix: MCPCをvendored fork化しMCP準拠と接続安定性を改善
- Git submoduleを廃止してMCPCを直接管理 - Windowsで254リクエスト付近に発生する切断を修正 - JSON-RPC 2.0エラー応答を標準化 - tool schemaとruntimeの必須・任意引数を一致 - 1000回連続呼び出しの回帰テストを追加
Diffstat (limited to 'tests/CMakeLists.txt')
-rw-r--r--tests/CMakeLists.txt20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index ad314eb..fd9ac9e 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -22,6 +22,24 @@ if(MSVC)
endif()
add_test(NAME tiny-convmem-mcp.domain COMMAND tiny-convmem-domain-test)
+add_executable(tiny-convmem-mcpc-test mcpc_test.c)
+target_include_directories(tiny-convmem-mcpc-test PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}")
+target_compile_features(tiny-convmem-mcpc-test PRIVATE c_std_17)
+target_link_libraries(tiny-convmem-mcpc-test PRIVATE mcpc::mcpc)
+if(MSVC)
+ target_compile_options(tiny-convmem-mcpc-test PRIVATE /utf-8 /W4)
+endif()
+add_test(NAME tiny-convmem-mcp.mcpc COMMAND tiny-convmem-mcpc-test)
+
+find_package(Python3 REQUIRED COMPONENTS Interpreter)
+add_test(
+ NAME tiny-convmem-mcp.protocol
+ COMMAND "${Python3_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/mcp_protocol_test.py"
+ --server "$<TARGET_FILE:tiny-convmem-mcp>"
+ --iterations 1000
+)
+set_tests_properties(tiny-convmem-mcp.protocol PROPERTIES TIMEOUT 120)
+
add_executable(tiny-convmem-boundary-test
boundary_test.c
"${PROJECT_SOURCE_DIR}/src/mcp/json.c"
@@ -93,6 +111,8 @@ if(TINY_CONVMEM_ENABLE_ASAN AND MSVC)
TEST
tiny-convmem-mcp.smoke
tiny-convmem-mcp.domain
+ tiny-convmem-mcp.mcpc
+ tiny-convmem-mcp.protocol
tiny-convmem-mcp.boundaries
tiny-convmem-mcp.allocator
tiny-convmem-mcp.encoding