Skip to content

Commit 96527d1

Browse files
add adversarial RX session test suite (49 tests)
Intrusive tests for the RX session pipeline covering: - slot lifecycle (new/advance/destroy with truncation) - v1 golden vectors from Cyphal spec (heartbeat, NodeInfo 11-frame, array CAN FD) - v1 golden vectors from v4 libcanard (DUCK, {1..14}, {0..99}, CRC split) - v0 golden vectors from DroneCAN bus capture (MagField, gnss.Fix, pressure, temp) - session lifecycle and admission (creation, reuse, TID timeout, iface failover) - priority preemption (independent slots, same-priority replacement, all 8 prios) - OOM and error paths (session OOM, slot OOM, bad CRC) - session cleanup (stale/fresh, max timeout, triggered by start) - edge cases (extent zero, exact extent, TID rollover, multi-source, all 7 kinds) - regressions for the two previously fixed bugs (bool CRC, toggle assertion) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 30f2064 commit 96527d1

File tree

2 files changed

+2183
-0
lines changed

2 files changed

+2183
-0
lines changed

tests/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ gen_test_matrix(test_intrusive_util "src/test_intrusive_util.c")
101101
gen_test_matrix(test_intrusive_tx "src/test_intrusive_tx.c")
102102
gen_test_matrix(test_intrusive_rx "src/test_intrusive_rx.c")
103103
gen_test_matrix(test_intrusive_rx_admission "src/test_intrusive_rx_admission.c")
104+
gen_test_matrix(test_intrusive_rx_session "src/test_intrusive_rx_session.c")
104105
# API tests.
105106
gen_test_single(test_api_tx "${library_dir}/canard.c;src/test_api_tx.cpp")
106107

0 commit comments

Comments
 (0)