Repository navigation
test(platform-apple): cover core launch diagnostics, CoreDevice normalization, runner-file copy, and IPA hint resolution - #3434
Conversation
…r-file copy, and IPA hint resolution Exercise the 0%-covered branches of probeSimulatorLaunchContext, normalizeCoreDeviceReadyError, normalizeCoreDeviceProbeError, copyCoreDeviceRunnerFile, and resolveIosPayloadBundleByHint through their public entry points, clearing every CRAP >= 30 finding for the platform-apple core files (#3417, part of #3414). Co-authored-by: Apex <apex@callstack.com>
Size Report
Startup median (7 runs, lower is better):
|
There was a problem hiding this comment.
All reported issues were addressed across 4 files
Reply with feedback, questions, or to request a fix.
View guided diff | Turn on auto-fix | Re-trigger cubic
… option Review follow-up (#3434): distinct per-attempt stderr proves the copy failure reports the last container rather than the first, --source and --destination are asserted at their option positions so a swap fails, and the IPA fixture summary no longer claims ambiguous-name coverage. Co-authored-by: Apex <apex@callstack.com>
|
Reviewed 6aa85ad: no blocking findings. The diff is test-only and reaches each targeted function through its public entry point, using the existing AppleToolProvider seam. All 18 checks pass and there are no conflicts. A test-only change needs no live device run. All three earlier inline threads are fixed at this commit, so they can be resolved: the distinct per-attempt container miss message (#3434 (comment)), the positional argument reads (#3434 (comment)), and the trimmed case list in install-artifact.test.ts (#3434 (comment)). Not blocking, take or leave: the IPA fixture in install-artifact.test.ts shells out to the host |
|
Summary
Covers the five 0%-covered functions in
platform-applecore flagged by the coverage-based CRAP report on5f84627d8, all through the owning modules' public entry points (probeSimulatorLaunchContext,ensureCoreDeviceReady,copyCoreDeviceRunnerFile,prepareIosInstallArtifact). No production changes, no new exports, no test-only DI.probeSimulatorLaunchContextnormalizeCoreDeviceProbeErrornormalizeCoreDeviceReadyErrorcopyCoreDeviceRunnerFileresolveIosPayloadBundleByHintThe ambiguous-name throw in
resolveIosPayloadBundleByHintstays uncovered: it needs two payload directories differing only by case, which APFS cannot hold; with that branch excluded the function scores 5.Closes #3417. Part of #3414. 4 test files changed, +472 lines.
Validation
6aa85ad(review fixes on top ofa590340)pnpm check:affected --runpassed locally under the machine lock (format, lint, typecheck, layering, fallow, vitest-related, unit).pnpm check:coverage-crap --allovervitest relatedcoverage for the owned files: no function at or above 30. Per-function CRAP viafallow healthat ~full statement coverage: 7, 7, 6, 5, 5.