Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

test(cli): make the telemetry mutation run and the test suite faster without weakening them

Aperta
#1,036 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
43/100
Tipo di issue
Refactoring
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
typescript
Ambito
ci-cd, testing-qa

Direzione di ricerca

Start with the telemetry Stryker configuration and Vitest project and test ordering, then inspect tests/e2e/telemetry-report.e2e.test.ts and the golden-cell capture tests. Measure the full mutation run and pnpm test before changes; trace why static mutants run without tests. Done means timings are recorded, CI and mutation shards are green, and the mutation score is unchanged or every difference is explained without any previously killed mutant surviving.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Problem

pnpm test:mutation:telemetry takes 62 min locally (4228 mutants) and dominates CI time; cd cli && pnpm test takes 39 s. Measured on next at 06dbb980:

  • Vitest runs the integration project before unit and the longest files first. Stryker stops a mutant at its first failing test, so most mutants run slow integration files before the unit test that kills them in milliseconds: 2321 of 3575 killed mutants were killed by an integration test although 2756 were also covered by a unit test.
  • 196 mutants time out. About 31 are real infinite loops; about 165 are slow kills (some are killed in 3 ms by a unit test run alone).
  • 330 static mutants (7.8%) use 60.5% of all test runs.
  • pnpm test wall time is set by one file, tests/e2e/telemetry-report.e2e.test.ts (33 s).
Scope
  • A test order for mutation only: unit tests first, then shortest first.
  • Lower the Stryker timeout and set its concurrency once the order is fixed, measured.
  • Find why the static mutants run outside any test, and make them cheap without dropping them from the score.
  • Split the slowest e2e file so pnpm test runs it in parallel.
  • Capture each golden cell twice, not three times.
Acceptance criteria
  • Mutation score unchanged or each difference explained per mutant; no mutant that was killed before survives.
  • No test deleted or weakened (no lower numRuns, no dropped assertion).
  • Before and after timings of the full telemetry mutation run and of pnpm test, same machine.
  • CI green, mutation shards included.
Out of scope

Rewriting tests for speed, changing the mutation floor.

Lingua principale
TypeScript
Stelle
481
Fork
45
Merge medio
1g 5h
PR unite (30g)
81

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di ai-driven-dev/framework

Tutte le issue di ai-driven-dev/framework

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.