• src/conio/cterm_test.c

    From Deucе@VERT to Git commit to main/sbbs/master on Thu Mar 19 10:20:49 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/252b02cae86ff13e2cca7f5d
    Modified Files:
    src/conio/cterm_test.c
    Log Message:
    Add 29 more ANSI unit tests (206 cterm_test total)

    ED variants (above, all), EL variants (left, all), tabs (TBC, CHT/CBT,
    CVT), scroll with content verification (RI, LF, DECSTBM region), SL/SR,
    scroll with margins (SU/SD smoke tests), SGR extended (dim, conceal,
    256-color fg/bg, RGB fg/bg), DECIC/DECDC, DECCARA/DECRARA (bold toggle, attribute preservation), HPB/VPB clamping, CUP/HVP defaults.

    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Thu Mar 19 10:20:49 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/ffc55b30cff0c44eabd8cbcb
    Modified Files:
    src/conio/cterm_test.c
    Log Message:
    Add 14 more ANSI unit tests (220 cterm_test total)

    SGR noblink (5;25 roundtrip), normal intensity (1;22 roundtrip),
    default fg (39=37), default bg (49=40), bright fg (90-97), bright
    bg (100-107 with mode 33), SL/SR with left/right margins, DECCARA
    with 256-color, DECRARA blink/negative/SGR 0 toggles, DECSACE
    stream mode, DECSTBM scroll preserving content outside margins.

    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Thu Mar 19 10:20:49 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/9ab55d601292c231154e0a52
    Modified Files:
    src/conio/cterm_test.c
    Log Message:
    Add response capture, query tests, and retbuf leak detection (240 total)

    Add response_cb callback to cterm_test for capturing cterm responses
    directly, plus retbuf leak detection that flags any response that
    bypasses the callback and writes to retbuf instead.

    20 new tests: DSR (cursor position + status), DA, DECRQSS (m/r/s/*x/*r),
    DECRQM (autowrap/origin), DECRQCRA checksum, DECDMAC/DECINVM macros,
    string passthrough (APC/DCS/PM/SOS cursor preservation), bracket paste
    mode, save/restore mode, and a retbuf leak audit test that sends all
    major query types and verifies no responses leak to retbuf.

    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Thu Mar 19 10:20:49 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/f39a26e77c7702ffaff4e65e
    Modified Files:
    src/conio/cterm_test.c
    Log Message:
    Add 23 edge case, packet-split, and feature tests (263 cterm_test)

    Stage 1 — Packet-split tests (16): ESC split across calls (ANSI, VT52, Prestel), CSI parameter split (mid-number, semicolon, final byte), DCS
    macro split across 3 calls, SOS terminator split (ESC/\), zero-length
    write (normal + mid-sequence), very long CSI params, large param value,
    VT52 ESC Y split (2 variants), BEEB VDU 23 split, doorway mode split.

    Stage 2 — Untested features (5): DECSCUSR cursor style, CT24BC 24-bit
    color, FETM/TTM ECMA-48 modes, OSC 8 hyperlinks (hyperlink_id in vmem
    cells), ANSI music state machine.

    Stage 5 — Regressions (2): RIS clears all state (autowrap, lastch,
    origin mode), response ordering in single ct_write call.

    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Thu Mar 19 10:20:49 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/cd6ae0d95f5ad0999a125d8c
    Modified Files:
    src/conio/cterm_test.c
    Log Message:
    Add pixel-level tests and non-ANSI edge cases (275 cterm_test)

    Stage 3 — Pixel tests (6): character rendering (fg/bg present),
    blank cell (uniform), SGR color change affects pixels, bg color
    change, bold differs from normal, 256-color differs from default.
    Uses getpixels() with palette-index comparison (not RGB, since
    offscreen SDL stores indices not resolved colors).

    Stage 4 — Non-ANSI edge cases (6): ATASCII encoding boundary bytes
    in ESC mode, PETSCII font switching (C64 + C128 font IDs), PETSCII
    all 16 colors in C128-80 mode, Prestel all 7 alpha colors, Prestel
    all 7 mosaic colors (with mode flag verification).

    Added pixel helper infrastructure: get_pixel(), PIX_R/G/B macros, pixels_have_fg() for checking non-uniform pixel regions.

    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Thu Mar 19 10:20:49 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/5cce6b552228676b0a47bc96
    Modified Files:
    src/conio/cterm_test.c
    Log Message:
    Suppress BEL audio in cterm_test via cterm->quiet

    Set quiet=1 after cterm_init to prevent BEL tests from producing
    audible beeps during test runs. The BEL tests still verify the
    cursor doesn't move, which is all that can be checked automatically.

    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net