Skip to content

perf(test): run release sandbox tests from a tiny fixture dir#827

Merged
Chemaclass merged 1 commit into
mainfrom
feat/825-sandbox-test-fixture-dir
Jul 19, 2026
Merged

perf(test): run release sandbox tests from a tiny fixture dir#827
Chemaclass merged 1 commit into
mainfrom
feat/825-sandbox-test-fixture-dir

Conversation

@Chemaclass

Copy link
Copy Markdown
Member

🤔 Background

Related #825

release::sandbox::create tars the current working directory, so the 6 calls in release_sandbox_test.sh each copied the ~21MB repo into /tmp, making it the slowest unit test file (~5.8s).

💡 Changes

  • Build a few-KB fake project once per script and run every sandbox test from there: ~5.8s → ~0.9s
  • Fixture ships its own .git/ and .release-state/, so the exclusion tests no longer depend on the real repo's state
  • Fixture lives in bashunit::temp_dir (framework-cleaned after workers finish) — a manual rm -rf in tear_down_after_script races parallel workers, which start before file-level teardown
  • No changes to release.sh

https://claude.ai/code/session_01JSeB8UzLCpqst55hAK6dED

release::sandbox::create tars $(pwd), so the 6 calls in
release_sandbox_test.sh each copied the ~21MB repo into /tmp, making it
the slowest unit file (~5.8s). Build a few-KB fake project (bashunit,
build.sh, CHANGELOG.md, .git/, .release-state/) once per script and cd
there instead: ~5.8s -> ~0.9s, and the exclusion tests no longer depend
on the real repo's state.

The fixture uses bashunit::temp_dir rather than a manual mktemp +
tear_down_after_script: in parallel mode workers start before the
file-level teardown runs, so a manual rm -rf raced the workers and
silently dropped 5 tests under --parallel --strict.

Closes #825
@Chemaclass Chemaclass added the pure testing Pure testing related label Jul 19, 2026
@Chemaclass Chemaclass self-assigned this Jul 19, 2026
@Chemaclass
Chemaclass merged commit e3e982f into main Jul 19, 2026
37 checks passed
@Chemaclass
Chemaclass deleted the feat/825-sandbox-test-fixture-dir branch July 19, 2026 13:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pure testing Pure testing related

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant