ReviewOS

home-lang/home

Port nested bun test.only multi-file CLI aggregation

#87
Closed chris opened this 9 days ago ·
9 days ago

Tracks the next bounded slice of #66.

Activate js/bun/test/test-only.test.ts without delegating to upstream Bun or returning fixture-specific canned output. The copied test requires nested bun test invocations to preserve .only semantics across one-file and four-file runs.

Implementation scope:

  • route explicit, flag-free ${bunExe()} test <files...> commands through Home’s virtual Bun.$ path;
  • execute each requested file through Home native corpus file mode;
  • aggregate pass/fail/todo/unsupported counts into Bun-compatible stderr summaries;
  • make process.execPath/Home executable discovery stable from Zig test cache directories;
  • keep flag-bearing test commands on their existing path until their options are modeled.

Acceptance:

  • Three one-file .only runs report 1 pass / 0 fail
  • Four-file run reports 6 passes across 4 files
  • Upstream parent corpus passes natively 4/4
  • Native package regression pins the upstream file
  • Dedicated Home debug build passes
  • Land and cross-reference from #66
9 days ago

Landed on main in 024c983.

Implemented a Home-only nested test path for explicit, flag-free file lists:

  • Bun.$ routes ${bunExe()} test <files...> into Home’s virtual shell instead of the preserved native Bun fallback;
  • each file executes via Home native corpus file mode;
  • native pass/fail/todo/unsupported counts are aggregated into Bun-compatible stderr summaries;
  • stdout is preserved across child runs;
  • flag-bearing commands remain outside this bridge until their options are modeled;
  • process.execPath now resolves to Home, with ancestor discovery from cwd/test-cache paths.

Verification:

  • dedicated home-debug build: pass
  • exact js/bun/test/test-only.test.ts: 4 pass, 0 fail, 0 unsupported, 0 todo
  • package run: new pinned regression passed; the earlier shell-hang subprocess pin also changed from failure to pass after executable discovery was fixed
  • package aggregate: 1,056 pass / 1 skip / 3 unrelated failures (one existing pipeline rewrite assertion and two late harness installs while the disk reached ~210 MB free)

Closing this bounded slice; overall parity continues in #66 and the contention-free global gate remains #81.

Sign in to comment on this issue.