Page MenuHomePhabricator

Remove default PHPUnit exclusion of "Dump", "ParserFuzz", and "Stub" groups
Closed, ResolvedPublic

Description

We use the @group Broken annotation to disable tests that shouldn't run by default, due to being known to fail, be flaky or otherwise undesirable to run in CI and locally by default for one reason or another.

In addition to this, we have @group Standalone as CI-specific optimization to run certain tests on direct patches but not when loaded from an upstream repository in a test for a downstream project.

That seems enough, but we have others that we exclude in various places. I'd like to question whether we actually still need to exclude those, and try to simplify this.

integration/config:/dockerfiles/quibble-coverage/mediawiki-coverage.sh
vendor/bin/phpunit \
        --exclude-group Dump,Broken,ParserFuzz,Stub
integration/config:/dockerfiles/quibble-coverage/mwext-phpunit-coverage.sh
vendor/bin/phpunit \
        --testsuite extensions:unit \
        --exclude-group Dump,Broken,ParserFuzz,Stub
mediawiki/core:/includes/Composer/ComposerLaunchParallel.php
ALWAYS_EXCLUDE = [ 'Broken', 'ParserFuzz', 'Stub' ];
integration/quibble:/quibble/commands.py
always_excluded = ['Broken', 'ParserFuzz', 'Stub']

Evaluation

  • Dump. This group is exclusive to MediaWiki core and is tagged on 6 test files (Codesearch). At glance, it sounds like a normal source code group (akin to @group ResourceLoader and @group BagOStuff) for Snapshot-related code, that we shouldn't be disabling by default. For example, ExportDemoTest validates the export-demo.xml file against the current schema. It seems to be what we would, today, call a "structure" test. It is marked "large", although it doesn't look large or slow. This should just be enabled? The good news is that is already removed from most of above files quoted above, but for some reason the coverage scripts are the only ones that exclude it. Is this a legacy left-over that we can sync away, or is there an undocumented reason to excluce this?
    • Action: Sync and remove from CI config, or document and keep.
  • ParserFuzz: This isn't used anymore by any test files. I'm guessing the (slow) fuzzTest.php script used to be implemented as a PHPUnit test. This isn't the case anymore.
    • Action:: Remove from CI config?
  • Stub: This group is exclusive to the Math extension today, and used by two test files (Codesearch): WikiTexVC/EnWikiFormulaeTest.php and WikiTexVC/ChemRegressionTest.php.
    • Action: Replace with Broken or convert to a maintenance script.
    • Action: Remove from CI config?

Event Timeline

The math tests should be enabled. However they take too long (10 Minutes) to run. We discussed to run them in parallel, after moving from gerrit to gitlab. I try to run them regularly on GitHub https://github.com/physikerwelt/mw-math-testing but I have not been running them as often as I would have liked to.

Agreed. Let's move the Dump ones to enable them, move the Math extension's tests to Standalone, and drop all three tags.

Change #1230365 had a related patch set uploaded (by Jforrester; author: Jforrester):

[integration/config@master] Zuul: [mediawiki/extensions/Math] Add a standalone job

https://gerrit.wikimedia.org/r/1230365

Change #1230366 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/Math@master] tests: Move two WikiTexVC heavy tests from Stub to Standalone so they're run in CI

https://gerrit.wikimedia.org/r/1230366

Change #1230365 merged by jenkins-bot:

[integration/config@master] Zuul: [mediawiki/extensions/Math] Add a standalone job

https://gerrit.wikimedia.org/r/1230365

Mentioned in SAL (#wikimedia-releng) [2026-01-22T15:11:44Z] <James_F> Zuul: [mediawiki/extensions/Math] Add a standalone job, for T415230

Change #1230367 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/core@master] [DNM] tests: Un-tag @group Dump to see if these tests can run

https://gerrit.wikimedia.org/r/1230367

Well, MultiFormatUserIdentityLookupTest apparently doesn't work.

Change #1230379 had a related patch set uploaded (by Jforrester; author: Jforrester):

[integration/quibble@master] PHPUnit: Stop excluding the ParserFuzz and Stub groups

https://gerrit.wikimedia.org/r/1230379

Change #1230366 merged by jenkins-bot:

[mediawiki/extensions/Math@master] tests: Move two WikiTexVC heavy tests from Stub to Standalone so they're run in CI

https://gerrit.wikimedia.org/r/1230366

Change #1230393 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/Math@REL1_45] tests: Move two WikiTexVC heavy tests from Stub to Standalone so they're run in CI

https://gerrit.wikimedia.org/r/1230393

Change #1230394 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/Math@REL1_44] tests: Move two WikiTexVC heavy tests from Stub to Standalone so they're run in CI

https://gerrit.wikimedia.org/r/1230394

Change #1230395 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/Math@REL1_43] tests: Move two WikiTexVC heavy tests from Stub to Standalone so they're run in CI

https://gerrit.wikimedia.org/r/1230395

Change #1230398 had a related patch set uploaded (by Physikerwelt; author: Physikerwelt):

[mediawiki/extensions/Math@master] Remove outdated comment

https://gerrit.wikimedia.org/r/1230398

Change #1230402 had a related patch set uploaded (by Jforrester; author: Jforrester):

[integration/config@master] Docker: [quibble-coverage] Stop excluding Dump/ParserFuzz/Stub groups

https://gerrit.wikimedia.org/r/1230402

Change #1230367 abandoned by Jforrester:

[mediawiki/core@master] [DNM] tests: Un-tag @group Dump to see if these tests can run

Reason:

OK, this passes. Let's call it done.

https://gerrit.wikimedia.org/r/1230367

Change #1230402 merged by jenkins-bot:

[integration/config@master] Docker: [quibble-coverage] Stop excluding Dump/ParserFuzz/Stub groups

https://gerrit.wikimedia.org/r/1230402

Change #1230403 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/core@master] ComposerLaunchParallel: Stop excluding the ParserFuzz and Stub groups

https://gerrit.wikimedia.org/r/1230403

Mentioned in SAL (#wikimedia-releng) [2026-01-22T17:36:18Z] <James_F> Docker: [quibble-coverage] Stop using legacy PHPUnit entrypoint (T395470) & Stop excluding Dump/ParserFuzz/Stub groups (T415230)

Change #1230394 merged by jenkins-bot:

[mediawiki/extensions/Math@REL1_44] tests: Move two WikiTexVC heavy tests from Stub to Standalone so they're run in CI

https://gerrit.wikimedia.org/r/1230394

Change #1230393 merged by jenkins-bot:

[mediawiki/extensions/Math@REL1_45] tests: Move two WikiTexVC heavy tests from Stub to Standalone so they're run in CI

https://gerrit.wikimedia.org/r/1230393

Change #1230404 had a related patch set uploaded (by Jforrester; author: Jforrester):

[integration/config@master] jjb: Bump quibble-coverage: Direct PHPUnit, incclude Dump/ParserFuzz/Stub

https://gerrit.wikimedia.org/r/1230404

Change #1230404 merged by jenkins-bot:

[integration/config@master] jjb: Bump quibble-coverage: Direct PHPUnit, include Dump/ParserFuzz/Stub

https://gerrit.wikimedia.org/r/1230404

Change #1230379 merged by jenkins-bot:

[integration/quibble@master] PHPUnit: Stop excluding the ParserFuzz and Stub groups

https://gerrit.wikimedia.org/r/1230379

Change #1230398 merged by jenkins-bot:

[mediawiki/extensions/Math@master] Remove outdated comment

https://gerrit.wikimedia.org/r/1230398

Change #1230403 merged by jenkins-bot:

[mediawiki/core@master] ComposerLaunchParallel: Stop excluding the ParserFuzz and Stub groups

https://gerrit.wikimedia.org/r/1230403

Change #1233744 had a related patch set uploaded (by Jforrester; author: Jforrester):

[integration/config@master] jjb: Upgrade Quibble jobs to 1.15.0

https://gerrit.wikimedia.org/r/1233744

Change #1233744 merged by jenkins-bot:

[integration/config@master] jjb: Upgrade Quibble jobs to 1.15.0

https://gerrit.wikimedia.org/r/1233744

Change #1230395 merged by jenkins-bot:

[mediawiki/extensions/Math@REL1_43] tests: Move two WikiTexVC heavy tests from Stub to Standalone so they're run in CI

https://gerrit.wikimedia.org/r/1230395