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-dir DB_DIR] [--dump-db-postrun] [--git-cache GIT_CACHE]
               [--git-parallel GIT_PARALLEL] [--branch BRANCH]
               [--project-branch PROJECT=BRANCH] [--workspace WORKSPACE]
               [--log-dir LOG_DIR] [--color] [--no-color]
               [--run STAGE[,STAGE ...]] [--skip STAGE[,STAGE ...]]
               [-c COMMAND | --commands [COMMAND [COMMAND ...]]]
               [--phpunit-testsuite pattern]
               [projects [projects ...]]

Positional Arguments


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


Possible choices: composer, vendor

Source to install PHP dependencies from. Default: vendor


Do not clone/checkout in workspace


Whether to process extension.json/skin.json and clone extra extensions/skins mentioned in the “requires” statement. This is done recursively.


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.


Do not run composer/npm


Do not install MediaWiki


Possible choices: sqlite, mysql, postgres

Database backend to use. Default: mysql


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 the db before shutting down the server (mysql only)


Path to bare git repositories to speed up git cloneoperation. Passed to zuul-cloner as –cache-dir. In Docker: “/srv/git”, else “ref”


Number of workers to clone repositories. Default: 4


Branch to checkout instead of Zuul selected branch, for example to specify an alternate branch to test client library compatibility.


project-specific branch to checkout which takes precedence over –branch if it is provided; may be specified multiple times.


Base path to work from. In Docker: “/workspace”, else current working directory


Where logs and artifacts will be written to. Default: “log” relatively to workspace


Enable colorful output.


Disable colorful output.


PHPUnit: filter which testsuite to run


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: phpunit-unit, phpunit, npm-test, composer-test, qunit, selenium, api-testing


Possible choices: phpunit-unit, phpunit, npm-test, composer-test, qunit, selenium, api-testing, all

Tests to run. Comma separated. (default: all).


Possible choices: phpunit-unit, phpunit, npm-test, composer-test, qunit, selenium, api-testing, all

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.