https://gitlab.synchro.net/main/sbbs/-/commit/b1aef46a981bceb260b745a5
Added Files:
src/syncterm/run_termtest.sh termtest.c
Modified Files:
src/syncterm/CMakeLists.txt GNUmakefile
Log Message:
Add automated terminal test suite (99 tests)
termtest.c: standalone C test harness that runs as the child process
of a SyncTERM shell: connection via PTY. Sends escape sequences,
reads terminal responses, writes results to a file.
99 tests covering: C0/escape controls, string passthrough, cursor
movement, clamping, editing, tabs, save/restore, device queries
(DSR, DA, DECRQCRA, DECTABSR, DECRQSS, DECMSR), scroll regions,
scrolling, SGR attributes (256-color, RGB, bright, negative,
conceal), modes (autowrap, nowrap, origin, BCDM), DECRQM for
private/ANSI/CTerm modes, palette queries (OSC 4, OSC 104),
cursor style (DECRQSS SP q), screen readback (STS text-only,
full line, no SSA, with SGR, ANSI mode discovery), and SyncTERM
extensions (DECDMAC, DECINVM, CTSV).
check_string_at() uses both DECRQCRA checksums and STS readback
for dual verification of content and attributes.
run_termtest.sh: wrapper script that sets up headless SDL
(offscreen + software renderer), launches SyncTERM, checks results.
Build integration:
- gmake: 'gmake test' and 'gmake termtest' targets
- cmake: enable_testing(), add_test() with ctest support
Co-Authored-By: Claude Opus 4.6 (1M context) <
noreply@anthropic.com>
--- SBBSecho 3.37-Linux
* Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)