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] [-n] [--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.

Default: []

Named Arguments


Possible choices: composer, vendor

Source to install PHP dependencies from. Default: vendor

Default: “vendor”


Do not clone/checkout in workspace

Default: False


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

Default: False


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.

Default: False


Do not run composer/npm

Default: False


Do not install MediaWiki

Default: False


Possible choices: sqlite, mysql, postgres

Database backend to use. Default: mysql

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)

Default: False


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

Default: “ref”


Number of workers to clone repositories. Default: 4

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.

Default: []


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

Default: “.”


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

Default: “log”

-n, --dry-run

Stop before executing any commands.

Default: False


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


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

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

Default: [‘all’]


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

Stages to skip. Comma separated. Set to “all” to skip all stages. (default: none).

Default: []

-c, --command

Run given command instead of built-in stages. Each command is executed relatively to MediaWiki installation path.



Default: []