BBS: TELESC.NET.BR Assunto: src/ssh/test/CMakeLists.txt test_algo_key.c test_alloc.c test_conn.c t De: Deuc¨ Data: Fri, 27 Mar 2026 20:57:48 -0700 ----------------------------------------------------------- https://gitlab.synchro.net/main/sbbs/-/commit/e5f2201704c844eb92f03213 Modified Files: src/ssh/test/CMakeLists.txt test_algo_key.c test_alloc.c test_conn.c test_selftest.c Log Message: Speed up test suite 2x: cancellable watchdog, RSA key caching, CTest consolidation Four optimizations reduce full CTest wall time from ~25s to ~12.5s at -j16: 1. Cancellable watchdog in test_alloc.c: the conn_iterate test's watchdog thread slept 3s unconditionally on every iteration (7 iterations = 21s). Replace with condvar-based wait that cancels immediately when conn threads finish. alloc/conn_iterate: 21s -> 0.02s. 2. RSA key caching in test_algo_key.c: 30 tests that just need a key present now load from DSSH_TEST_RSA_KEY (set by CTest) instead of generating a fresh 2048-bit RSA key each time. Tests that specifically test key generation keep calling generate_key directly. dssh_unit_algo_key: 20s -> 8s. 3. CTest consolidation: transport, conn, selftest, and thread_error tests now run all tests per executable in one process (dssh_add_variant_tests macro) instead of one CTest entry per test function. Reduces CTest entries from ~4487 to ~1551 and eliminates fork/exec scheduling overhead. Auth tests stay individual for sntrup parallelism. 4. Sleep reduction in test_conn.c and test_selftest.c: demux-processing sleeps reduced from 100-200ms to 10-20ms (demux processes packets in microseconds). Race-widener and I/O error detection sleeps kept at original values. Saves ~2s per in-process conn run. Co-Authored-By: Claude Opus 4.6 (1M context)n --- mSynchronetn hgVertrauen n hHome of Synchronet n gh[vert/cvs/bbs].synchro.net ----------------------------------------------------------- [Voltar]