• src/conio/cterm_test.c

    From Deuc¨@VERT to Git commit to main/sbbs/master on Thursday, March 19, 2026 10:20:49
    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 Thursday, March 19, 2026 10:20:49
    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 Thursday, March 19, 2026 10:20:49
    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 Thursday, March 19, 2026 10:20:49
    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 Thursday, March 19, 2026 10:20:49
    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 Thursday, March 19, 2026 10:20:49
    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
  • From Deuc¨@VERT to Git commit to main/sbbs/master on Monday, July 20, 2026 16:56:59
    https://gitlab.synchro.net/main/sbbs/-/commit/aa20854ee060592db76a38c6
    Modified Files:
    src/conio/cterm_test.c
    Log Message:
    Fix cterm key encoding test capture

    Capture encoded keystrokes through the keystroke callback added when
    cterm responses and user input were split. The test harness previously installed only the response callback, so encoding functions returned
    the expected lengths while the tests observed empty output.

    This restores coverage for ANSI, VT52, ATASCII, PETSCII, Prestel, BBC,
    and Doorway key encoding.

    Co-Authored-By: OpenAI Codex <noreply@openai.com>

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