B4: Host-mode integration tests
Five end-to-end tests wire a real HostHandler against a real passive
HSMS Connection over a TCP loopback pair and assert wire-level
behaviour matches expectations:
- establish_communication + go_remote sequence S1F13 then S1F17
- send_remote_command produces a wire-correct S2F41 the equipment
can re-parse with parse_s2f41 and recover CPNAME/CPVAL
- send_terminal_display round-trips through S10F1/F2
- E40/E94 create+command sequence (S16F11, S14F9, S16F5)
- Inbound S5F1 alarm fires the host's alarm observer + auto-acks
Each test uses the existing pump_until / SocketPair harness pattern
from test_hsms_connection.cpp. The recorder pattern keeps the
equipment-side dispatch table small — every test installs the same
canned reply handler.
This closes Tranche B (host mode). HostHandler now has the inbound
+ outbound surface secsgem-py's GemHostHandler exposes.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -88,6 +88,7 @@ add_executable(secsgem_tests
|
||||
tests/test_hsms_connection.cpp
|
||||
tests/test_secsi.cpp
|
||||
tests/test_secsi_tcp.cpp
|
||||
tests/test_host_handler.cpp
|
||||
tests/test_control_state.cpp
|
||||
tests/test_communication_state.cpp
|
||||
tests/test_data_model.cpp
|
||||
|
||||
Reference in New Issue
Block a user