A tool that skips tests has to be able to say why, or nobody should leave it switched on. Bellwether writes a skip report for every run and attaches it to the pull request as a check, so the answer is one click from the place people already look.
Eight verdicts, no ninth
Every test on every commit gets exactly one verdict. There is no partial credit: a test is never forty percent selected.
| Verdict | Result | Meaning |
|---|---|---|
| reaches | runs | The map puts it on a changed file |
| stale | runs | Its map entry is older than the test file |
| unmapped | runs | It has never been recorded |
| pinned | runs | An always-run rule names it |
| unreachable | skipped | No path from the diff to anything it loads |
| quarantined | skipped | It disagreed with itself and is on the flake list |
| excluded | skipped | Your configuration excludes it |
| other shard | skipped | It runs on a different machine in this run |
Four of the eight are ways of saying run it anyway, which is the direction the product is built to fail in.
Asking about one test
bellwether why <test> prints the verdict for any test on the current commit,
with the map entry behind it. The same answer is in the dashboard next to every
skipped test, and in the JSON export if you want to keep your own records.