Define merge semantics for `results.errors`
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 25/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- typescript
- Bereich
- tooling
Rechercherichtung
Start with the spec text that #88 adds for results.errors, then read src/merge.ts in ctrf-cli and in ctrf-js to see how the first shard's fields are kept. The issue first asks for a spec rule (concatenate every input's errors, in input order, with no de-duplication), which needs maintainer agreement before any code. Done means the spec wording is agreed and both merge functions keep every shard's errors, with tests for multi-shard input.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Follow-up to #65, from this comment. Builds on #88, which adds results.errors: [{message, trace, extra}].
Problem
Sharded runs are routinely merged into one CTRF document. Merging is where run-level errors get lost. #88 says nothing about merging. Current CTRF tooling would silently drop errors from every shard but the first:
ctrf mergein ctrf-cli keepsextraandenvironmentfrom the first shard only.- ctrf-js
merge()keeps the first value for each key and rebuilds the result without anyresults.errorshandling.
So aAshard that failed in global teardown would produce a merged report with no error and, if all its tests passed, a green verdict.
Precedent
Tools that merge run-level errors concatenate them:
- Playwright's
merge-reportsreplays every shard'sonErrorwith no de-duplication. It merges run status worst-first: failed, then timedout, then interrupted, then passed. - Allure 3 appends errors without de-duplication.
De-duplication is also risky: the same message from two shards (for example, "Database cleanup failed") might mean two separate failures.
Proposal
Add to the spec:
When merging CTRF documents (for example, shards of one run),
results.errorsSHOULD be the concatenation of every input document'sresults.errors, in input order, without de-duplication. A merging tool MAY record the source document or shard in each entry'sextra.
Then update ctrf merge and ctrf-js merge() to follow it.
Related
If an optional run outcome is added (separate issue), its merge rule should follow Playwright's worst-first ordering.
- Vorherrschende Sprache
- Keine Sprachdaten
- Sterne
- 104
- Forks
- 4
- Ø Merge
- 1 Std. 3 Min.
- Gemergte PRs (30 T.)
- 2
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus ctrf-io/ctrf
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 76/100
ctrf-io/ctrf#59 · 4 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 18/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 15/100
Maintainer antworten meist innerhalb von 1 Tag
-
CTRF 0.3.0 preparationOffen
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 20/100
Maintainer antworten meist innerhalb von 1 Tag
-
Proposal: Add optional `threadId` to `retryAttempts` entriesEvtl. vergeben @alexshamrai hat das vor 12 Tagen übernommen. Offen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 68/100
ctrf-io/ctrf#74 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
Ähnliche Issues
-
Document and enforce pull request review guidelinesEvtl. vergeben @dashorst hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Maintainer antworten meist innerhalb von 1 Tag
-
bug implicit-state
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
-
Misleading 'Update → Config → Hyprland' menu item silently resets user configs without confirmationOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
community enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 80/100