CRAP: newly scored platform-apple simulator boot retry and macOS helper file listing

Geschlossen
#3,451 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

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
52/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
typescript

Rechercherichtung

Start with packages/platform-apple/src/core/simulator.ts and its simulator boot entry point; add coverage for shouldRetry and classifyReason through that public path. Then inspect packages/platform-apple/src/os/macos/helper.ts and test listMacOsHelperSourceFiles through its owning module. Run pnpm check:coverage-crap --all on a branch containing #3448 and finish with pnpm check:affected --run; #3323 also edits the helper file.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Purpose

These findings were exposed by #3448, which patches the coverage tooling (part of #3425) so the six files that used to be unscored now get scores. Re-scoring them (full pnpm test:coverage on #3448's head, then pnpm check:coverage-crap --all) adds three functions at or above CRAP 30.

Findings (head 18d22c745 of #3448)

Function CRAP CC Coverage
packages/platform-apple/src/core/simulator.ts:142 shouldRetry (boot retry policy) 72 8 0%
packages/platform-apple/src/core/simulator.ts:156 classifyReason (boot deadline classifier) 56 7 0%
packages/platform-apple/src/os/macos/helper.ts:190 files (listMacOsHelperSourceFiles entry mapper) 42 6 0%

Owned files

  • packages/platform-apple/src/core/simulator.ts
  • packages/platform-apple/src/os/macos/helper.ts

Notes

  • shouldRetry, classifyReason and the catch block each rebuild the same classifyBootFailure input from bootStatusResult?.stdout ?? bootResult?.stdout. One local classifier closure would remove most of that branching, so covering the retry and deadline paths through the simulator boot entry point may need only a small production change.
  • Open #3323 also edits os/macos/helper.ts. Add tests only for that file, or rebase onto #3323 first.
  • These scores depend on #3448's patches. Without them, the two files stay unscored on main, so measure on a branch that includes #3448 (or after it merges).

Completion

  • None of the three functions is listed by pnpm check:coverage-crap --all on the PR head (with #3448's patches).
  • Tests go through the owning module's public entry point. No new production exports for tests and no test-only DI.
  • pnpm check:affected --run passes on the pushed head.

Part of #3414.

Vorherrschende Sprache
TypeScript
Sterne
5.3k
Forks
377
Ø Merge
13 Std. 58 Min.
Gemergte PRs (30 T.)
654

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus callstack/agent-device

Alle Issues in callstack/agent-device

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.