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