Files
Dash 0c1d5185a4 tests: compare pqcli with upstream in node
`just test` now fetches Progress Quest web's game logic from the public
site into $XDG_CACHE_HOME/pqcli/pq-web, pinned by SHA-256 so a change on
the site fails loudly. Nothing from upstream is committed.

tests/upstream/harness.js runs that code headless. test_upstream.py
checks the word lists, MonsterTask and the other generators from 200
generator states, and three whole games of 10000 tasks each, comparing
all state including the generator after every task. Without node or the
fetched files, these tests are skipped.
2026-10-17 15:55:57 +02:00

30 lines
693 B
Makefile

default: run
# Run the game; extra arguments go to pqcli
run *args:
uv run pqcli {{args}}
# Run with the curses interface
curses *args:
uv run pqcli --curses {{args}}
# Run with the basic interface
basic *args:
uv run pqcli --basic {{args}}
# Run the formatters and linters on all files
lint:
uv run prek run -a
# Download Progress Quest web's game logic for the upstream tests
fetch-upstream:
uv run python tests/upstream/fetch.py
# Run the test suite; extra arguments go to pytest
test *args: fetch-upstream
uv run pytest {{args}}
# Re-record the gameplay parity fixtures (only when gameplay should change)
record-traces:
uv run python tests/game_trace.py