Quibble CLI usage¶
Quibble: the MediaWiki test runner
usage: quibble [-h] [--color] [--no-color] [-n] [--workspace WORKSPACE]
[--log-dir LOG_DIR] [--reporting-url REPORTING_URL]
[--skip-zuul] [--change CHANGE] [--git-cache GIT_CACHE]
[--git-parallel GIT_PARALLEL] [--branch BRANCH]
[--project-branch PROJECT=BRANCH] [--skip-deps]
[--packages-source {composer,vendor}] [--parallel-npm-install]
[--skip-install] [--db {sqlite,mysql,postgres}]
[--db-dir DB_DIR] [--db-is-external] [--dump-db-postrun]
[--resolve-requires] [--fail-on-extra-requires]
[--phpbench-aggregate] [--phpunit-testsuite pattern]
[--phpunit-junit] [--web-backend {php,external}]
[--web-php-workers WEB_PHP_WORKERS] [--web-url WEB_URL]
[--run STAGE[,STAGE ...]] [--skip STAGE[,STAGE ...]]
[-c COMMAND | --commands [COMMAND [COMMAND ...]]]
[projects [projects ...]]
Positional Arguments¶
- projects
MediaWiki extensions and skins to clone. Always clone mediawiki/core and mediawiki/skins/Vector. If $ZUUL_PROJECT is set, it will be cloned as well.
Global options¶
- --color
Enable colorful output (or set the FORCE_COLOR environment variable)
- --no-color
Disable colorful output.
- -n, --dry-run
Stop before executing any commands.
- --workspace
Base path to work from. In Docker: “/workspace”, else current working directory
- --log-dir
Where logs and artifacts will be written to. Default: “log” relatively to workspace
- --reporting-url
HTTP endpoint that Quibble will POST error messages to, for configured repositories.
Git operations¶
- --skip-zuul
Do not clone/checkout in workspace
- --change
Gerrit Change[,patchset] to act on. Will fetch the change latest patchset (or the specified one). Overrides ZUUL environment variables
- --git-cache
Path to bare git repositories to speed up git cloneoperation. Passed to zuul-cloner as –cache-dir. In Docker: “/srv/git”, else “ref”
- --git-parallel
Number of workers to clone repositories. Default: 4
- --branch
Branch to checkout instead of Zuul selected branch, for example to specify an alternate branch to test client library compatibility.
- --project-branch
project-specific branch to checkout which takes precedence over –branch if it is provided; may be specified multiple times.
Libraries dependencies¶
- --skip-deps
Do not run composer/npm installs
- --packages-source
Possible choices: composer, vendor
Source to install PHP dependencies from. Default: vendor
- --parallel-npm-install
Whether to run “npm install” in parallel for all projects at the beginning of the BrowserTest stage.
MediaWiki install¶
- --skip-install
Do not install MediaWiki
- --db
Possible choices: sqlite, mysql, postgres
Database backend to use. Default: mysql
- --db-dir
Base directory holding database files. A sub directory prefixed with “quibble-” will be created and deleted on completion. If set and relative, relatively to workspace. Default: /tmp
- --db-is-external
If the database is managed externally and not by Quibble. Default: managed by Quibble
- --dump-db-postrun
Dump the db before shutting down the server (mysql only)
MediaWiki extension requires¶
- --resolve-requires
Whether to process extension.json/skin.json and clone extra extensions/skins mentioned in the “requires” statement. This is done recursively.
- --fail-on-extra-requires
When –resolve-requires caused Quibble to clone extra requirements not in the list of projects: fail.Can be used to enforce extensions and skins to declare their requirements via the extension registry.
Stages options¶
- --phpbench-aggregate
If this argument is set, then Quibble will run phpbench in aggregate mode, comparing the previous commit with the current one.
- --phpunit-testsuite
PHPUnit: filter which testsuite to run
- --phpunit-junit
PHPUnit: enable Junit reporting to LOG_DIR
Web server¶
- --web-backend
Possible choices: php, external
Web server to use. Default to PHP’s built-in. “external” assumes that the local MediaWiki site can be accessed via an already running web server.
- --web-php-workers
Number of workers for the php built-in webserver, or set PHP_CLI_SERVER_WORKERS environment variable. Requires PHP 7.4+
- --web-url
Base URL where MediaWiki can be accessed.
Stages¶
Quibble runs all test commands (stages) by default. Use the –run or –skip options to further refine which commands will be run. Available stages are: all, phpunit-unit, phpbench, phpunit, phpunit-standalone, phpunit-parallel, npm-test, composer-test, qunit, selenium, api-testing
- --run
Possible choices: all, phpunit-unit, phpbench, phpunit, phpunit-standalone, phpunit-parallel, npm-test, composer-test, qunit, selenium, api-testing
Tests to run. Comma separated. (default: run all stages).
- --skip
Possible choices: all, phpunit-unit, phpbench, phpunit, phpunit-standalone, phpunit-parallel, npm-test, composer-test, qunit, selenium, api-testing
Stages to skip. Comma separated. Set to “all” to skip all stages. (default: none).
- -c, --command
Run given command instead of built-in stages. Each command is executed relatively to MediaWiki installation path.
- --commands
DEPRECATED: use -c COMMAND -c COMMAND