Skip mode for quarantined tests

Starting with Tuist 4.190.0, quarantined test cases can run in one of two modes: Muted or Skipped. The previous single-mode behavior (run the test, mask its failure) is now called Muted. The new Skipped mode excludes the test from execution entirely.

Why this change

Muting works well when you want to keep watching a flaky test without breaking CI. It does not help when a test is broken, painfully slow, or so persistently flaky that running it just burns CI minutes. Skipped mode covers that case: tuist test (and the Gradle plugin) tell the underlying test runner to skip the test outright, so no result is produced and nothing has to be masked after the fact.

What’s new

  • A new Skipped option on the test case state dropdown, alongside Enabled and Muted.

  • A Mode column and Mode filter on the Quarantined Tests page so you can tell muted and skipped tests apart at a glance.

  • Automations can now set or clear the Skipped state, both as a trigger action and as a recovery action, so flaky-test rules can decide whether a flapping test should be muted or fully skipped.

  • tuist test fetches muted and skipped identifiers in parallel: skipped ones are appended to xcodebuild’s -skip-testing arguments, muted ones continue to feed post-run failure masking. The Gradle plugin uses excludeTestsMatching for the skipped set and the existing mask for the muted set.

  • --skip-quarantine continues to bypass quarantine entirely.

Where to read more