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