- test/kiss_client.py: Full-featured KISS modem client library
Supports all 14 config commands, KISS frame encoding/decoding,
signal quality reporting, packet send/receive
Can communicate over serial ports or file-like objects (stdin/stdout)
- test/test_integration.py: Integration test suite using kiss_client.py
Tests radio configuration, parameter setting, KISS frame encoding/decoding
Designed to run against modem or simulator
Run with: python3 test/test_integration.py
- test/main_simulator.cpp: Hardware simulator scaffold for native platform
Mocks SX126X radio with configurable state
Communicates via stdin/stdout for easy testing
Note: Full compilation requires Arduino.h mock (future work)
Verified: seeed_xiao_s3_wio_sx1262 and heltec_v3 still build without errors
- Add test/test_kiss.cpp: Unit tests for KISS protocol encoder/decoder
Tests: frame decoding with/without escape sequences, port extraction,
round-trip encoding/decoding, signal quality encoding, buffer overflow handling
- Add test/test_commands.cpp: Unit tests for config command parsing
Tests: big-endian encoding/decoding, frequency frame parsing, type byte decoding
- Configure PlatformIO native test environment with GoogleTest framework
- Tests currently build but require linking stubs for full integration
Note: Full end-to-end testing requires mocking Serial I/O and radio functions,
which would be handled by integration tests on actual hardware or with a
more sophisticated test harness (e.g., CMake + GoogleTest).