Quibble CLI usage¶
Quibble: the MediaWiki test runner
usage: quibble [-h] [--packages-source {composer,vendor}] [--skip-zuul]
[--resolve-requires] [--fail-on-extra-requires] [--skip-deps]
[--skip-install] [--db {sqlite,mysql,postgres}]
[--db-is-external] [--db-dir DB_DIR] [--dump-db-postrun]
[--git-cache GIT_CACHE] [--git-parallel GIT_PARALLEL]
[--branch BRANCH] [--project-branch PROJECT=BRANCH]
[--web-url WEB_URL] [--web-backend {php,external}]
[--web-php-workers WEB_PHP_WORKERS] [--workspace WORKSPACE]
[--log-dir LOG_DIR] [--parallel-npm-install]
[--phpbench-aggregate] [--color] [--no-color] [-n]
[--run STAGE[,STAGE ...]] [--skip STAGE[,STAGE ...]]
[-c COMMAND | --commands [COMMAND [COMMAND ...]]]
[--phpunit-testsuite pattern] [--phpunit-junit]
[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.
Named Arguments¶
- --packages-source
Possible choices: composer, vendor
Source to install PHP dependencies from. Default: vendor
- --skip-zuul
Do not clone/checkout in workspace
- --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.
- --skip-deps
Do not run composer/npm
- --skip-install
Do not install MediaWiki
- --db
Possible choices: sqlite, mysql, postgres
Database backend to use. Default: mysql
- --db-is-external
If the database is managed externally and not by Quibble. Default: managed by Quibble
- --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
- --dump-db-postrun
Dump the db before shutting down the server (mysql only)
- --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.
- --web-url
Base URL where MediaWiki can be accessed.
- --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+
- --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
- --parallel-npm-install
Whether to run “npm install” in parallel for all projects at the beginning of the BrowserTest stage.
- --phpbench-aggregate
If this argument is set, then Quibble will run phpbench in aggregate mode, comparing the previous commit with the current one.
- --color
Enable colorful output.
- --no-color
Disable colorful output.
- -n, --dry-run
Stop before executing any commands.
- --phpunit-testsuite
PHPUnit: filter which testsuite to run
- --phpunit-junit
PHPUnit: enable Junit reporting to LOG_DIR
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, npm-test, composer-test, qunit, selenium, api-testing
- --run
Possible choices: all, phpunit-unit, phpbench, phpunit, phpunit-standalone, npm-test, composer-test, qunit, selenium, api-testing
Tests to run. Comma separated. (default: all).
- --skip
Possible choices: all, phpunit-unit, phpbench, phpunit, phpunit-standalone, 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