From 0be97054bc13188ff046fa2229a9f079b06937d7 Mon Sep 17 00:00:00 2001 From: Joe Rivera Date: Thu, 3 Sep 2026 20:11:38 -0500 Subject: [PATCH] test(ci): RUN_SERIAL state_transport_ipc_test, the suite #121 missed #121 moved the fork()+IPC multiprocess tests off the parallel ctest scheduler because their socket and replication windows get starved under load, producing failures that say nothing about the code. It covered state_exec_multiprocess_test and state_multiprocess_ipc_test. state_transport_ipc_test has the same profile -- real Unix-domain sockets driven with poll() timeouts -- and was left on the parallel scheduler. It still flakes: StateTransportIpcTest.TwoEndpointConvergence was the single failure out of 2739 tests on an unrelated PR (#324, an SDF header fix that touches nothing near state or IPC), which is what surfaced the gap. Same one-line treatment as its two siblings. --- src/cvc/tests/CMakeLists.txt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/cvc/tests/CMakeLists.txt b/src/cvc/tests/CMakeLists.txt index d89ae94c..fabe8cd1 100644 --- a/src/cvc/tests/CMakeLists.txt +++ b/src/cvc/tests/CMakeLists.txt @@ -1473,7 +1473,13 @@ cvc_discover_tests(state_message_test) cvc_discover_tests(state_bounded_queue_test) cvc_discover_tests(state_transport_inproc_test) if(NOT WIN32) - cvc_discover_tests(state_transport_ipc_test) + # Same fork()+IPC timing profile as state_exec_multiprocess_test and + # state_multiprocess_ipc_test, both of which #121 moved off the parallel + # scheduler for exactly this reason. This suite was missed: it drives real + # Unix-domain sockets with poll() timeouts, so a loaded scheduler can starve + # a connect/replication window and fail an assertion that has nothing wrong + # with it. TwoEndpointConvergence is the one that surfaces it most often. + cvc_discover_tests(state_transport_ipc_test PROPERTIES RUN_SERIAL TRUE) cvc_discover_tests(state_reconnect_resilience_test) endif() cvc_discover_tests(state_blob_transport_integration_test)