A test runner for Inform 7 games. Drives glulxe over stdin/stdout, captures every turn, and renders the run as a single-page HTML report you can drill into.
.before files run before the test body and surface as a collapsed bar showing where setup landed the player ("ends in Cellar · T:27 · score 24"). Click to expand the full setup transcript.? assertion has a "show" toggle that highlights the satisfying span(s) directly inside the response above. Radio-style: one assertion's matches at a time per turn.A .test file interlaces input commands with assertions:
test: cloak-walkthrough game: ../cloak-inform7.ulx seed: 42 --- > west ? Cloakroom ? hooks > hang cloak on hook ? velvet cloak ? /score has (just )?gone up/ > read message ? *** The End ***
For longer tests, share setup via .before files:
test: zork1-troll-fight game: ../../i7/zork1/zork1.ulx seed: 26 before: zork1-cellar-nav.before --- > n ? Troll Room > kill troll with sword ...
ifplayer play <game.ulx> REPL against the game ifplayer run <test.test> run one test ifplayer test <tests..> --html-report R run many, write report ifplayer new <name> --game G stub a new test ifplayer update <test> rewrite test with captured output