ifPlayer

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.

Demo reports

What's in a report

Test format

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
...

CLI

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