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