diff --git a/phpbb-test-boards/SKILL.md b/phpbb-test-boards/SKILL.md index cc85422..82a5004 100644 --- a/phpbb-test-boards/SKILL.md +++ b/phpbb-test-boards/SKILL.md @@ -21,7 +21,11 @@ Test every code change on a running board before opening its pull request, not a Use committed `smoke_test.py`, `feature_checks.py`, and `run-unit-tests.sh` where relevant. Inspect their current interfaces and dependency installation options. The unit-test runner manages its own fresh test copies and compatible phpBB/PHPUnit checkout; that is distinct from manually copying an interactive board. Preserve a required `tests/functional/` directory when the framework enumerates it. -Provision supported database cases rather than calling a SQLite pass universal. The supported matrix is MySQL/MariaDB, PostgreSQL, SQLite and MSSQL. phpBB is dropping Oracle, so extensions do not support, test or write Oracle-specific code for it; do not list it as an untested gap either. Run guest/admin routes, real ACP/MCP/UCP actions, cron, permissions, and disable/purge/enable lifecycle cases that the change affects. Add reusable feature checks to the committed harness when appropriate. Do not let a green lint/EPV run stand in for runtime evidence. +Provision supported database cases rather than calling a SQLite pass universal. Before opening a pull request with a phpBB extension code change, run the affected behavior on every supported phpBB branch and database combination: SQLite, MySQL, MariaDB, PostgreSQL and MSSQL, in disposable containers bound to 127.0.0.1 and removed afterwards. For an extension supporting phpBB 3.3 and 4.0, that is ten board cases; a SQLite run is only an initial check. phpBB is dropping Oracle, so extensions do not support, test or write Oracle-specific code for it; do not list it as an untested gap either. + +Use `phpbb-test-board/db-matrix.sh` with an extension-specific feature check for the actual behavior; a skipped feature check does not satisfy the matrix. The SQL Server image only starts with `ACCEPT_EULA=Y`, which accepts Microsoft's SQL Server Developer licence. That acceptance is the user's decision: check the agent's persistent memory for a recorded approval covering local disposable test containers. If there is one, use it without asking again; if not, ask once, and record the answer in memory when the user approves. Never set it without either. The same applies to pulling a database image that is not cached yet. + +Run guest/admin routes, real ACP/MCP/UCP actions, cron, permissions, and disable/purge/enable lifecycle cases that the change affects. Add reusable feature checks to the committed harness when appropriate. Do not let a green lint/EPV run stand in for runtime evidence. Purge through seed-forum or the correct board owner when CLI cannot remove web-owned cache. For `php -S`, disable opcache in the disposable test runtime. Empty pages may hide PHP fatals: inspect response bodies and logs before diagnosing flakiness. Wait for phpBB's form timing/CSRF requirements before submitting browser forms.