Repository navigation
Smoke and feature checks
phpbb-test-board/smoke_test.py path/to/extension [--ref REF]Installs the extension from git and loads, as a guest and as the admin:
- the main board pages;
- the extension's routes;
- its ACP, MCP and UCP modules in every mode;
- its cron tasks.
It then disables the extension, deletes its data and enables it again. It reports any server error, empty page, phpBB debug notice or PHP error-log entry.
| Argument/option | Meaning |
|---|---|
repo |
Extension Git checkout. |
-r, --ref REF
|
Target Git ref; default HEAD. |
-w, --with PATH[@REF]
|
Dependency; repeat in enablement order. |
-b, --board-dir DIR
|
Board directory, overriding the environment. |
-p, --port PORT
|
Server port; default 8083. |
-h, --help
|
Usage. |
smoke_test.py /path/to/sfscompanion --ref origin/main \
--with /path/to/stopforumspam --board-dir /path/to/test-boardA remote-tracking ref such as origin/main is resolved locally: fetch the intended updates before testing it. Local uncommitted target changes are not included.
phpbb-test-board/feature_checks.py path/to/extension[@REF] [more extensions...]Exercises the main feature of each phpbbmodders extension that has a check. One example: a moderator can't warn a user in a group that isn't ticked. --help lists the extensions with checks. To add one, write a check_<name>() function and add it to the CHECKS table, keyed by the extension's composer name.
Arguments are one or more REPO[@REF] values. Options are -w/--with, -b/--board-dir, -p/--port, and -h/--help, with the shared meanings above. Unlike smoke testing, the target ref is appended to the path rather than passed with --ref.
feature_checks.py /path/to/groupwarn@HEAD /path/to/adduser@HEAD \
--board-dir /path/to/test-boardSupported composer names at the documented revision:
phpbbmodders/wikiphpbbmodders/banlistphpbbmodders/bannerrotatorphpbbmodders/groupwarnphpbbmodders/documentationphpbbmodders/separatebotsphpbbmodders/reassignthumbsphpbbmodders/honeypotphpbbmodders/adduserphpbbmodders/sfscompanion
Pass the other extension's checkout with --with. Repeat it for several, in the order they must be enabled:
phpbb-test-board/smoke_test.py path/to/sfscompanion --with path/to/stopforumspam-
Install order:
--withextensions are installed and enabled first and stay enabled. Only the extension under test goes throughsmoke_test.py's disable and delete-data round trip. -
In
feature_checks.py: a--withextension is installed only for the extensions whosecomposer.jsonrequires it. -
Missing packages: if
composer.jsonrequires a package you didn't supply, the scripts print a note naming it.
Both tools document 0 for clean/passed, 1 for detected problems and 2 for bad arguments. Runtime/setup errors also require investigation; a successful smoke test does not establish that every feature works. Feature checks cover registered scenarios only.
- Home
- Installation
- Release workflows
- Extension releases
- Style releases
- Language pack releases
- Default branch releases
- GitHub releases and recovery
- Test board setup
- Smoke and feature checks
- Unit tests and PHP lint
- Screenshots
- Rename upgrade checks
- Template accessibility
- Forum update posts
- Waiting for PR checks
- Troubleshooting
- Maintainer checks