• exec/tests/filebase/basic.js skipif exec/tests/msgbase/basic.js get_al

    From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Thursday, May 14, 2026 02:49:16
    https://gitlab.synchro.net/main/sbbs/-/commit/9df649dfa9b96ae8411f0c84
    Added Files:
    exec/tests/filebase/basic.js skipif exec/tests/msgbase/basic.js get_all_msg_headers.js path_save.js
    Log Message:
    tests: add basic MsgBase + FileBase coverage; rename existing msgbase test

    New tests in exec/tests/, all using ad-hoc (is_path) bases under system.temp_dir so they don't touch the live install:

    msgbase/basic.js
    Round-trip: open, save_msg, reopen, verify total_msgs/first_msg/
    last_msg, get_msg_header by number and by offset, get_msg_body,
    remove_msg, verify MSG_DELETE attr round-trips.

    msgbase/path_save.js
    Regression for the savemsg() segfault fixed in e5ddda76d
    (cfg->sub[smb->subnum] unguarded deref for is_path msgbases when
    saving a message with to_ext set to a real local user number).

    filebase/skipif ('typeof FileBase === \"undefined\"')
    filebase/basic.js
    Round-trip: open, add a real on-disk file, get, get_list,
    get_size (compared to actual on-disk size to be tolerant of CRLF
    text-mode translation on Windows), hash (verifies md5 is 32-char
    hex), remove(name, true) deletes both the index entry and the
    on-disk file. This test would have masked the index-format bug
    fixed in 1767046fd.

    Rename the existing msgbase regression test from
    get_all_msg_headers_to_ext.js to get_all_msg_headers.js — short name
    now that it sits alongside other msgbase tests.

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