test: skip the unseeded-shrinkwrap mutation on an npm without the ENOTCACHED defect #117

Merged
pti merged 1 commit from fix/shrinkwrap-test-npm12 into main 2026-11-02 12:50:04 +01:00
Owner

Second and last blocker for the 0.10.0 release test run. The shrinkwrap money test proves seedShrinkwrapCacheIndex is what makes the seeded cases pass by swallowing the seed run and expecting npm ci --offline to fail ENOTCACHED on the shrinkwrapped sibling. That failure is npm's own defect, and npm 12 installs the unseeded fixture offline without complaint, reproduced here on 12.2.1. On such a host the mutation subtest now skips naming the npm version instead of failing. Seeding itself stays, since realize runs under the backend's npm and both the pinned node:24 image and the guix node package bundle npm 11. Verified under npm 12.2.1 and 11.17.0, full suite, vet and golangci-lint clean. Test-only change, no changelog entry. 🤖 Generated with Claude Code

Second and last blocker for the 0.10.0 release test run. The shrinkwrap money test proves seedShrinkwrapCacheIndex is what makes the seeded cases pass by swallowing the seed run and expecting npm ci --offline to fail ENOTCACHED on the shrinkwrapped sibling. That failure is npm's own defect, and npm 12 installs the unseeded fixture offline without complaint, reproduced here on 12.2.1. On such a host the mutation subtest now skips naming the npm version instead of failing. Seeding itself stays, since realize runs under the backend's npm and both the pinned node:24 image and the guix node package bundle npm 11. Verified under npm 12.2.1 and 11.17.0, full suite, vet and golangci-lint clean. Test-only change, no changelog entry. 🤖 Generated with Claude Code
test(pool): skip the unseeded-shrinkwrap mutation on an npm without the ENOTCACHED defect
All checks were successful
Lint / lint (pull_request) Successful in 1m7s
Lint / sonarqube (pull_request) Has been skipped
8184d61bb5
The subtest proves seedShrinkwrapCacheIndex is what makes the seeded
cases pass by swallowing the seed run and expecting `npm ci --offline`
to fail ENOTCACHED on the shrinkwrapped sibling. That failure is npm's
defect: npm 12 installs the unseeded fixture offline without complaint
(reproduced on 12.2.1), so on such a host the mutation has nothing to
prove. It now skips there, naming the npm version, instead of failing
the release test run.

Seeding itself stays: realize runs under the backend's npm, and the
pinned node:24 image and the guix node package both bundle npm 11.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
pti merged commit fc585153d9 into main 2026-11-02 12:50:04 +01:00
pti deleted branch fix/shrinkwrap-test-npm12 2026-11-02 12:52:58 +01:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
pti/wraptool!117
No description provided.