Public Access
46 lines
2.1 KiB
Markdown
46 lines
2.1 KiB
Markdown
# GameTest suites
|
|
|
|
The default dedicated-server run is a small smoke suite: 19 Rivencraft tests
|
|
cover core linking, deterministic Age definition, writing persistence, legacy
|
|
data migration, workstation transactions, and forged/replayed menu actions.
|
|
NeoForge currently adds two of its own tests, so the runner reports 21.
|
|
|
|
```shell
|
|
./gradlew runGameTestServer
|
|
```
|
|
|
|
The remaining 49 Rivencraft tests are archived, not deleted. They cover
|
|
completed milestone details such as every Age terrain profile, Notebook and
|
|
Desk surface interactions, refill edge cases, book assembly controls, and
|
|
workstation break/drop behavior. Run only the relevant archive alongside the
|
|
core tests when investigating an issue:
|
|
|
|
```shell
|
|
./gradlew runGameTestServer -ParchivedGameTestSuites=desk
|
|
./gradlew runGameTestServer -ParchivedGameTestSuites=grammar,binder
|
|
```
|
|
|
|
Available suite names are `linking`, `writing`, `grammar`, `desk`, `binder`, `mixer`, and
|
|
`recipe`. Run all 68 Rivencraft tests (70 including NeoForge's two) before a
|
|
release or after broad cross-system changes:
|
|
|
|
```shell
|
|
./gradlew runGameTestServer -PwithArchivedGameTests=true
|
|
```
|
|
|
|
Each archive is selected by its `rivencraft_archive_<suite>` GameTest namespace.
|
|
The suites share the normal empty test structure and do not need Create, Ponder, or
|
|
Immersive Portals. The core suite delegates to the original regression methods
|
|
for its selected cases, so the two suites do not maintain duplicate test logic.
|
|
|
|
GameTest Ages are created in `build/gametest-run/world`, not in a development
|
|
client save. Every default GameTest invocation starts with a fresh world. If
|
|
tests fail, Gradle moves the world under `build/gametest-run/failed-worlds/`
|
|
for inspection. A retry starts fresh but keeps those failed worlds; the next
|
|
successful run removes them and its own world. A forcibly killed run may leave
|
|
`world` behind; the next run preserves it as a failure snapshot before starting.
|
|
Logs and configuration remain available. Cleanup never targets a custom
|
|
`-PgameTestRunDir` or a player world; callers using a custom directory manage
|
|
it themselves. The full suite should still be run
|
|
before shipping changes in the archived systems.
|