Subj : xtrn/syncivision/test_lobby_headless.js To : Git commit to main/sbbs/master From : Rob Swindell (on Debian Linux) Date : Fri Jul 10 2026 01:39:22 https://gitlab.synchro.net/main/sbbs/-/commit/c5c821ce2ef5b886a4d3d24f Added Files: xtrn/syncivision/test_lobby_headless.js Log Message: syncivision: drive the lobby headless, without a terminal "The screen cannot be tested" turned out to be only half true. lobby.js needs console, bbs and user, which jsexec does not provide -- but those are three objects, and a script can supply them. Stub them, feed a scripted key sequence, and capture the command line the lobby would hand to the door. That catches every failure this file can have before a player meets it: a parse error, a misnamed model-layer call, a wrong argument order, and above all an unquoted cartridge path, which would silently truncate at the first space in "4-TRIS (2000) (Joseph Zbiciak).int". The test refuses to run when a plays.jsonl already exists. `system` is a permanent global in jsexec, so assigning to it does not shadow the real data_dir: the lobby's play record lands in the sysop's actual activity log, and the test would then delete it. Better to refuse. --- þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net .