host: preserve bundle symlinks and finish integration test isolation

This commit is contained in:
2026-11-07 20:58:33 +00:00
parent 7bd8bfe4d2
commit cab9ceb6f6
7 changed files with 35 additions and 16 deletions
+9 -1
View File
@@ -11,9 +11,17 @@ cargo test -p sausage --test it -- --test-threads=1
Use `nix develop -c` and the required build slot wrapper for these commands.
Set `CARGO_TARGET_DIR` to your executor's target directory.
The journal timing benchmark keeps its 10% threshold but does not run in the default suite.
Run it by hand on an idle machine:
```sh
cargo test --release -p sausage --test it -- --ignored undo_cost
```
Add new modules under `host/tests/it/` and declare them in `it/main.rs`.
Cargo does not discover separate test executables in `host/tests/`.
Fixture sources remain in `builder-fixture/`.
The bundle-copy regression preserves relative symlink targets, including broken links.
`common.rs` shares the target lookup and the cached userland Git build.
A shared mutex protects the cwd-init output and the brush checkout during fixture builds.
@@ -24,5 +32,5 @@ Child processes receive environment variables through `Command`, not through cha
SIGKILL parents use fully qualified test filters with `--exact`.
The `hook::hook_git` and `hook_git` registrations both existed before this move.
Both remain to preserve the test count.
Both remain as wrappers around one shared helper to preserve the test count.
The shared `hook_guest` module now builds its fixture once per process.