mirror of
https://github.com/Dingo-Shenanigans/ReSkate.git
synced 2026-10-24 13:36:18 +02:00
- contrib/plugins/reskate-test calls every plugin API and says what worked: ptest all, ptest <module>, ptest list. Its 45 checks cover the base set, timers, the level, package files, JSON, require, the console, storage and the sandbox. It is the example to copy for a plugin. - contrib/plugins/reskate-hostile attacks the sandbox, one attack per command (hostile list): loops, memory and buffer bombs, caught errors, error and log floods, timers, recursion, an unload that never ends, and 17 ways out. Each must end stopped or refused. - dingosdk_plugin_tests runs both from the repository: every reskate-test check passes, and every hostile attack is stopped or refused with nothing escaping. - Taken from Domination (PR 279) for the plugin API to use: the trick watch (when a trick starts, lands and what it scored, or a slam breaks it; Domination's spots left out) in Extension/Skater/trick_watch.h with its tests, the score HUD reader in score_hud.h, and teleport_local_skater_heading, whose hunks are the PR's own. Neither is wired to anything yet.
16 lines
881 B
Markdown
16 lines
881 B
Markdown
# Test plugins
|
|
|
|
Two plugins that check ReSkate's plugin host (`Extension/Plugins`). To try one in game, copy its
|
|
folder into the game's `Mods` folder and open the console.
|
|
|
|
- **reskate-test** calls every plugin API and says what worked. `ptest all` runs every check,
|
|
`ptest <module>` one module, and `ptest list` names them. It prints only the failures and a
|
|
summary line. Each API ReSkate adds gets a module in `plugin/checks/`. It's also the example to
|
|
copy when making a plugin.
|
|
- **reskate-hostile** attacks the sandbox on purpose, one attack per command. `hostile list` names
|
|
them with what should happen. An attack that gets it stopped is expected: `plugin on
|
|
reskate-hostile` starts it again for the next one. Any line starting with `ESCAPED` is a hole in
|
|
the sandbox.
|
|
|
|
Both also run without the game, in `dingosdk_plugin_tests` (`DINGOSDK_BUILD_PLUGIN_TESTS`).
|