tests: S9F7 wire emission for malformed primaries

S9F3/F5 are covered by test_s9_fallback (router path); S9F9/F11 by
test_hsms_timers (timer/over-length). This commit adds S9F7 wire-level
tests for the third path — a primary whose body fails secs2::decode.

Three new cases:
  - hand-built primary with truncated <B> body provokes S9F7
    carrying the original 10-byte MHEAD (sys + stream + function)
  - emission is non-fatal: the next well-formed primary still routes
    to the registered handler
  - data-while-NOT-SELECTED still echoes Reject(EntityNotSelected)
    (sanity copy of the test_hsms_connection case so the "what does
    the equipment say when a peer sends garbage" family lives together)

Closes #6 in the test-gap backlog.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-06-09 10:41:45 +02:00
parent 2d73abcd27
commit 82f9794655
2 changed files with 212 additions and 0 deletions
+1
View File
@@ -99,6 +99,7 @@ add_executable(secsgem_tests
tests/test_hsms.cpp
tests/test_hsms_connection.cpp
tests/test_hsms_timers.cpp
tests/test_hsms_s9.cpp
tests/test_secsi.cpp
tests/test_secsi_tcp.cpp
tests/test_host_handler.cpp