Skip to content

Commit e784d01

Browse files
gustavoliraclaude
andauthored
docs(testing-matrix): correct the Layer 4a counts and say what they count (#5291)
The table added on 2026-08-18 carried two numbers that its source document disagreed with, and no statement of what it was counting. `scorecard` is 16 overlay tests and `orchestrator` 26, not 15 and 24, so the total is 138. Neither figure is what Playwright reports: `npx playwright test --list` gives 19 and 32, because parametrised tests expand at collection time. Both columns count statically declared `test()` blocks, which makes the two sides comparable to each other but makes them a floor rather than a run count, and that is now said rather than left for a reader to discover. "the 10 rhdh-plugins workspaces that also carry an e2e suite" is 11. The eleventh is `app-defaults`, which has no upstream lane — which is why it is absent from the table, and worth naming so nobody concludes it already has the coverage the table describes. Found while reviewing rhdh-plugin-export-overlays#3291, which carries the same table and is corrected in the same way. Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 parent 869df56 commit e784d01

1 file changed

Lines changed: 14 additions & 7 deletions

File tree

docs/testing-requirements-matrix.md

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -117,24 +117,30 @@ apiRef{...}`.
117117
## Layer 4a already exists, and overlaps Layer 4b
118118

119119
Recorded because the rule above — *"where the tables say E2E, Layer 4a is the default"* — reads
120-
as aspirational, and it is not. Measured 2026-08-18 for the 10 `rhdh-plugins` workspaces that
121-
also carry an e2e suite in `rhdh-plugin-export-overlays`:
120+
as aspirational, and it is not. Measured 2026-08-18 for 10 of the 11 `rhdh-plugins` workspaces
121+
that also carry an e2e suite in `rhdh-plugin-export-overlays` — the eleventh, `app-defaults`,
122+
has no upstream lane, which is why it is absent from the table:
122123

123124
| Workspace | Layer 4a in plugin repo (no cluster) | Layer 4b in overlays (cluster) | Identical test names |
124125
|---|---|---|---|
125126
| `intelligent-assistant` | 92 | 34 | 7 |
126-
| `scorecard` | 47 | 15 | 0 |
127+
| `scorecard` | 47 | 16 | 0 |
127128
| `homepage` | 16 | 18 | 1 |
128129
| `extensions` | 12 | 11 | 5 |
129-
| `orchestrator` | 11 | 24 | 0 |
130+
| `orchestrator` | 11 | 26 | 0 |
130131
| `adoption-insights` | 10 | 7 | 1 |
131132
| `global-header` | 8 | 10 | 0 |
132133
| `bulk-import` | 6 | 9 | 0 |
133134
| `theme` | 4 | 5 | 1 |
134135
| `quickstart` | 3 | 2 | 2 (all) |
135-
| **Total** | **209** | **135** | **17** |
136+
| **Total** | **209** | **138** | **17** |
136137

137-
Each of those 10 workspaces has a `playwright.config.ts` with a `webServer` block starting a
138+
Both test columns count statically declared `test()` blocks, so the two sides are comparable
139+
to each other but are a floor rather than a run count: Playwright expands parametrised tests
140+
at collection time, and `npx playwright test --list` reports 19 for `scorecard` against the
141+
16 declared and 32 for `orchestrator` against 26.
142+
143+
Each of those 10 has a `playwright.config.ts` with a `webServer` block starting a
138144
local instance on ports 3000-3002, `testDir: 'e2e-tests'`, and specs named `*.test.ts`. None of
139145
those directories references `RHDHDeployment`, `oc`, `kubectl`, `helm` or `INSTALLATION_METHOD`,
140146
so the lane is genuinely cluster-free. `homepage` already parameterises legacy versus NFS in it
@@ -674,7 +680,8 @@ Across the overlays repo as a whole: 24 of 64 workspaces have `e2e-tests/` and 3
674680

675681
- **2026-06-17**: Initial draft based on research and industry best practices
676682
- **2026-07-24**: Updated with verified E2E coverage data, resolved open questions, added governance and recent progress sections
677-
- **2026-08-18**: Added the Layer 4a mechanism note (no Backstage utility boots an instance; `webServer` is the mechanism) after the parent Test Strategy was corrected on the same point; added "Layer 3 and the new frontend system", recording that 16 of 22 plugins with an overlay e2e suite ship an untested NFS surface, with the three mutation-verified assertions that close it; added "Layer 4a already exists, and overlaps Layer 4b", recording 209 cluster-free tests in the plugin repos against 135 overlay cluster tests for the same 10 workspaces, with the caveat that those are tests which exist rather than tests which pass, and leaving the keep-or-remove decision with the plugin owner; noted that the community frontend bundle check now validates module-federation remote shape rather than presence
683+
- **2026-08-18**: Added the Layer 4a mechanism note (no Backstage utility boots an instance; `webServer` is the mechanism) after the parent Test Strategy was corrected on the same point; added "Layer 3 and the new frontend system", recording that 16 of 22 plugins with an overlay e2e suite ship an untested NFS surface, with the three mutation-verified assertions that close it; added "Layer 4a already exists, and overlaps Layer 4b", recording 209 cluster-free tests in the plugin repos against 138 overlay cluster tests for the same 10 workspaces, with the caveat that those are tests which exist rather than tests which pass, and leaving the keep-or-remove decision with the plugin owner; noted that the community frontend bundle check now validates module-federation remote shape rather than presence
678684
- **2026-08-04**: Refreshed all support-level counts and coverage baselines against both repos' `main`; reworded the Community load-test requirement from "loads in a default RHDH instance" to "the published artifact installs and boots" (community plugins are no longer in the RHDH image — RHIDP-13262); recorded the RHIDP-13510 scope and its frontend-rendering split into RHIDP-16009
679685
- **2026-08-06**: Added "Getting a Plugin Listed in the Extensions Catalog", stating that the matrix is keyed on the declared support level rather than on plugin ownership, and answering the open question about acceptable evidence from 3rd-party owners with a table of what the overlays pipeline already measures; closed the documentation gap left by RHIDP-13513; corrected the Compliance table's remaining "loads in a default RHDH instance" wording
686+
- **2026-08-21**: Corrected the Layer 4a table — `scorecard` is 16 overlay tests and `orchestrator` 26, not 15 and 24, so the total is 138; stated that both columns count statically declared `test()` blocks and are a floor, because Playwright expands parametrised tests (`--list` reports 19 and 32 for those two); and corrected "the 10 `rhdh-plugins` workspaces" to 10 of the 11, naming `app-defaults` as the one with no upstream lane
680687
- **2026-07-27**: Aligned layer definitions with the Test Strategy Proposal (`startTestBackend` moved from Layer 3 to Layer 2; Layer 4 split into 4a/4b); Jest confirmed as the Layer 1-3 runner per the Vitest spike; added threshold precedence and a proposed Compliance Verification section (pending RACI sign-off)

0 commit comments

Comments
 (0)