• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

valkyrjaio / valkyrja-php / 30325942525
100%

Build:
DEFAULT BRANCH: 26.x
Ran 28 Jul 2026 03:28AM UTC
Jobs 1
Files 1138
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

28 Jul 2026 03:26AM UTC coverage: 100.0%. Remained the same
30325942525

push

github

web-flow
[Documentation] Correct the merged branch coverage claim in the PHPUnit README (#937)

# Description

Corrects a claim in the PHPUnit README (added in #934, describing the
harness from #933) that turned
out to be wrong, and which actively misleads anyone using the harness.

The README said:

> The merged data is sound for finding branch gaps.

It is not. Merging shard coverage inflates branch counts badly enough
that the merged numbers cannot
be used as a worklist. Xdebug builds a different branch map for a
function depending on whether it
actually ran, so merging unions two incompatible maps and invents
branches nothing can execute. The
README already documented this for the `match`-line *line*-coverage
case, where the effect is a
harmless 0.03%; the branch-level effect is far bigger.

Measured while working through the gap in #936 — four files the merged
report listed as missing 19
branches between them are in fact fully covered:

| File | Merged claimed missing | Actual, in its own shard |
|------|------------------------|--------------------------|
| `Http/Routing/Processor/Processor.php` | 9 | **43/43 — 100%** |
| `Api/Manager/Api.php` | 4 | **24/24 — 100%** |
| `Http/Message/Request/Request.php` | 4 | **32/32 — 100%** |
| `Cli/Server/Provider/CliServerServiceProvider.php` | 2 | **22/22 —
100%** |

Merged counts 52 executable branches for `Processor.php`; every
individual shard counts 43.

The README also claimed "Branch coverage is a realistic 100% goal." That
is wrong too: some reported
branches cannot be executed by any test, so `REQUIRE_BRANCH=100` could
never go green. The three
categories found are now documented — process-terminating arms
(`Exiter::exit()`), the implicit
fall-through of an exhaustive `match (true)`
(`DispatchFactory::fromReflection()`), and traits
compiled into several classes (`Type\Enum\Trait\JsonSerializable`, which
scores 3/3 alone but 2/3
with the full `Type` suite, so adding tests *lowers* it).

Companion to #936, wh... (continued)

12591 of 12591 relevant lines covered (100.0%)

23.52 hits per line

Jobs
ID Job ID Ran Files Coverage
1 30325942525.1 28 Jul 2026 03:28AM UTC 1138
100.0
GitHub Action Run
Source Files on build 30325942525
  • Tree
  • List 1138
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #30325942525
  • cd17ba46 on github
  • Prev Build on 26.x (#30325215244)
  • Next Build on 26.x (#30325936160)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc