Skip to content

Commit cb9ca5f

Browse files
committed
Fix Windows CI compiler heap exhaustion by splitting interactions.cpp
Split tests/server/interactions.cpp (5,548 lines, 193KB) into 3 smaller files to avoid MSVC C1060 "compiler is out of heap space" error on GitHub Actions Windows CI. Issue: Windows CI failed at interactions.cpp:2307 with C1060 during both Debug and Release builds. The file was too large for MSVC to compile in CI's constrained environment, despite compiling fine locally with the same compiler version (MSVC 14.44.35207). Solution: Split into 3 parts following the same pattern as commit 54dc027 which explicitly "split large test files for maintainability": - interactions_part1.cpp (55 tests, 1,989 lines) - Core Tools/Resources/Prompts - interactions_part2.cpp (59 tests, 2,104 lines) - Data types/Validation - interactions_part3.cpp (50 tests, 1,741 lines) - Server capabilities/Notifications All 164 tests accounted for and passing locally (3/3 tests, 0.04s). Related: PR #11 (43e5e64) which introduced the large interactions.cpp file. This change maintains all test coverage while fixing Windows CI builds.
1 parent ff439e4 commit cb9ca5f

5 files changed

Lines changed: 5849 additions & 5551 deletions

File tree

CMakeLists.txt

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -229,9 +229,18 @@ if(FASTMCPP_BUILD_TESTS)
229229
target_link_libraries(fastmcpp_server_patterns PRIVATE fastmcpp_core)
230230
add_test(NAME fastmcpp_server_patterns COMMAND fastmcpp_server_patterns)
231231

232-
add_executable(fastmcpp_server_interactions tests/server/interactions.cpp)
233-
target_link_libraries(fastmcpp_server_interactions PRIVATE fastmcpp_core)
234-
add_test(NAME fastmcpp_server_interactions COMMAND fastmcpp_server_interactions)
232+
# Split into 3 parts to avoid MSVC heap exhaustion on CI (C1060)
233+
add_executable(fastmcpp_server_interactions_part1 tests/server/interactions_part1.cpp)
234+
target_link_libraries(fastmcpp_server_interactions_part1 PRIVATE fastmcpp_core)
235+
add_test(NAME fastmcpp_server_interactions_part1 COMMAND fastmcpp_server_interactions_part1)
236+
237+
add_executable(fastmcpp_server_interactions_part2 tests/server/interactions_part2.cpp)
238+
target_link_libraries(fastmcpp_server_interactions_part2 PRIVATE fastmcpp_core)
239+
add_test(NAME fastmcpp_server_interactions_part2 COMMAND fastmcpp_server_interactions_part2)
240+
241+
add_executable(fastmcpp_server_interactions_part3 tests/server/interactions_part3.cpp)
242+
target_link_libraries(fastmcpp_server_interactions_part3 PRIVATE fastmcpp_core)
243+
add_test(NAME fastmcpp_server_interactions_part3 COMMAND fastmcpp_server_interactions_part3)
235244

236245
add_executable(fastmcpp_server_context_meta tests/server/context_meta.cpp)
237246
target_link_libraries(fastmcpp_server_context_meta PRIVATE fastmcpp_core)

0 commit comments

Comments
 (0)