Cut the E2E suite wall-clock: 247s -> 46s (cli_run 211s -> 25s) #255
@@ -63,11 +63,15 @@ fn aura_in(dir: &Path, args: &[&str]) -> Output {
|
||||
/// `blueprints/scaled_open.json`. Returns the project dir. `OnceLock` so the
|
||||
/// expensive scaffold+build happens once per test binary; the node crate's
|
||||
/// path-dep resolves into this checkout (the baked engine root), like
|
||||
/// `project_new.rs`.
|
||||
/// `project_new.rs`. The base is a FIXED name under `CARGO_TARGET_TMPDIR`
|
||||
/// (real disk, reclaimed by `cargo clean`), not a pid-suffixed tempdir: the
|
||||
/// wipe below must hit the PREVIOUS run's copy, else every test-binary run
|
||||
/// leaks the ~66 MB built scaffold — 159 of those filled the 16 GB /tmp
|
||||
/// tmpfs to 100 % (#257).
|
||||
fn built_scale_project() -> &'static PathBuf {
|
||||
static BUILT: OnceLock<PathBuf> = OnceLock::new();
|
||||
BUILT.get_or_init(|| {
|
||||
let base = std::env::temp_dir().join(format!("aura-235-{}", std::process::id()));
|
||||
let base = Path::new(env!("CARGO_TARGET_TMPDIR")).join("aura-235-knob-lab");
|
||||
let _ = std::fs::remove_dir_all(&base);
|
||||
std::fs::create_dir_all(&base).expect("create scaffold base");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user