Add an optional run outcome to `results`
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 18/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Attiva
- Stack tecnologico
- json
- Ambito
- tooling
Direzione di ricerca
This is an open design question about the CTRF schema, not a code change, and the payload names no repository files. Read #65 and #88 first, along with the linked precedent for Jest, TRX, Cucumber, node:test and Playwright. Done means the maintainers settle the shape (boolean or enum), the consistency rules and the merge rule, and only then is a schema change proposed.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Follow-up to #65, from this comment. #88 adds results.errors and notes that "overall-run-outcome questions remain open." This issue is for that question and should not block 0.3.0.
Problem
With results.errors, a report can describe a failed run whose tests all passed, but it still doesn't carry a verdict. Each consumer has to derive one from summary.failed and results.errors, and the framework's own verdict is lost. Playwright, for example, distinguishes failed, timedout, and interrupted.
Precedent
When a format keeps errors out of the test list and still wants the report to carry a verdict, it adds a run-level outcome:
- Jest:
successis false whennumRuntimeErrorTestSuites > 0. - VSTest TRX:
ResultSummary/@outcome="Failed"even when every test passed, with the run-level counters left alone. - Cucumber Messages:
TestRunFinished.successis required, along with anexceptionfield. - node:test:
test:summary.successis set false for uncaught errors outside tests, without changingfailed(harness.js). - pytest-json-report: top-level
exitcode. - Datadog Test Optimization: session status, which its Playwright integration takes from Playwright's run result.
The exceptions are xUnit v2 and Playwright JSON. Both have an error list but no outcome, which is the shape CTRF 0.3.0 is heading toward.
#65 suggested results.environment.healthy as a stand-in, but no consumer I checked reads it. ctrf-io/github-test-reporter gates only on summary.failed.
Questions to settle
- Shape. A boolean like Jest's and Cucumber's
success, or a status enum? An enum could reuse CTRF's test statuses, or add run-specific values such astimedoutandinterrupted. ArawStatus-style field could keep the framework's own value, asresults.tests[].rawStatusdoes for tests. - Consistency. Should a producer that sets a failing outcome also emit a
results.errorsentry (see the "dependable signal" issue)? Should a passing outcome be allowed alongside a non-emptyresults.errorsorsummary.failed > 0? - Merging. Playwright's
merge-reportsmerges run status worst-first: failed, then timedout, then interrupted, then passed. CTRF's merge rule could do the same. - Consumers. When present, consumers like github-test-reporter could gate on the outcome directly, instead of deriving one.
- Lingua principale
- Nessun dato sulla lingua
- Stelle
- 103
- Fork
- 4
- Merge medio
- 1h 3m
- PR unite (30g)
- 2
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di ctrf-io/ctrf
-
Also Mention UUID version 8Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 76/100
ctrf-io/ctrf#59 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
I maintainer di solito rispondono entro 1 giorno
-
CTRF 0.3.0 preparationAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
I maintainer di solito rispondono entro 1 giorno
-
Proposal: Add optional `threadId` to `retryAttempts` entriesForse già presa @alexshamrai l’ha presa 12 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
ctrf-io/ctrf#74 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di ctrf-io/ctrf
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
eliasstravik/herdr-projects#787 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
code-yeongyu/oh-my-openagent#12784 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
`jiti/register`: `import.meta.resolve()` throws `ReferenceError: jitiESMResolve is not defined`Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 71/100
btclib-org/btclib#2964 ·
I maintainer di solito rispondono entro 1 giorno