镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

Packed projection fixture cleanup can fail with ENOTEMPTY and mask its test outcome #202

Closed

Description

@unbraind

Hosted failure, not a demonstrated product regression

At PR #200 head 189ad2deffdfa129db88665406be9fe46d7594a8, the Node 22 job reports 1,599 tests: 1,598 passed, one failed. The failed case is packed npm and native Bun consumers preserve mixed-import bytes in JSON and TOON in test/import-projection.test.ts.

The visible error is ENOTEMPTY removing <fixture>/home/.pm-cli/runtime/telemetry. The exact checkout was synthetic merge b3709654f873f62463b9a5dd70267100c4d9ba39, whose tree equals the PR head. PR #200 changes only the CodeQL action pin; this does not establish that the action update caused the failure.

Static evidence and impact

The fixture creates an isolated HOME and runs packed npm/native Bun consumers. Its final cleanup is:

finally { rmSync(base, { recursive: true, force: true }); }

A cleanup exception fails validation and can replace an earlier exception from the protected body. Therefore this receipt does not prove that all packed import assertions passed, nor does it demonstrate corrupted imports. A detached/background writer is a hypothesis, not established by the directory name alone. No local process/race/provider reproduction was performed.

The two Bun release lanes are green; Node 26 was still running at the last check. These do not erase this Node 22 failure. Coverage reached 100%, so this is not a coverage-threshold issue.

Existing owner reconciliation

All-status issues/PRs and all 160 current canonical PM records were checked. The closed pm-github-aplb, delivered by PR #134, records a related teardown class in closeout/import-gate fixtures, including awaited telemetry and defensive removal. This occurrence is in the newer packed projection fixture, outside that repair's recorded scope. It is distinct from #197 compensation behavior and #199 minimum-SDK dependency isolation. No new PM ID is asserted.

Acceptance

  • Make this fixture's producer/child lifecycle and teardown deterministic using supported isolation/lifecycle controls; investigate the actual writer rather than assuming its identity.
  • Preserve and report the primary test failure if cleanup also fails; do not let cleanup mask the data-preservation result.
  • Retain all mixed-import byte/history, JSON/TOON, npm/Bun assertions, timeouts and coverage thresholds.
  • Verify focused packed projection coverage and relevant Node 22/26 and Bun gates on an immutable revised head, recording skips and the actual tested merge/head relationship.
  • Keep validation credential-free and synthetic; no live provider mutation is needed.

This issue tracks blocked validation/fixture reliability, not a claim of production data loss or a proven SDK runtime defect.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions