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

Fermée
#3,451 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
52/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
typescript

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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.

Langage dominant
TypeScript
Étoiles
5.2k
Forks
359
Merge moyen
13 h 23 min
PR mergées (30 j)
655

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de callstack/agent-device

Toutes les issues de callstack/agent-device

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.