Testing
Testing
Testing has three levels: deterministic protocol tests, generated TypeScript/Nitro checks, and real-device validation.
Protocol tests
The C++ test suite covers:
- LRC modes.
- Packet framing and progress decoding.
- Request builders.
- Response parsers.
- Session orchestration with ACK, NAK, progress, receipt, timeout, and retry policy.
cmake -S package/cpp/tests -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
ctest --test-dir build --output-on-failure
TypeScript checks
cd package
bunx tsc --noEmit -p tsconfig.ci.json
Real terminal checks
Set terminal environment variables for opt-in integration tests, or use the example debug console to exercise all commands.
Unit tests are not enough
Native socket behavior, Android class-loader behavior, and terminal half-close timing require native app execution to validate.