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]