diff --git a/Cargo.lock b/Cargo.lock index 3600c1dd80..a707680473 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5366,6 +5366,13 @@ dependencies = [ "which", ] +[[package]] +name = "perry-container-e2e" +version = "0.5.1122" +dependencies = [ + "anyhow", +] + [[package]] name = "perry-diagnostics" version = "0.5.1122" diff --git a/Cargo.toml b/Cargo.toml index 43ebd94510..0319005b59 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -49,6 +49,7 @@ members = [ "crates/perry-ext-ads", "crates/perry-wasm-host", "crates/perry-container-compose", + "crates/perry-container-e2e", "crates/perry-stdlib", "crates/perry-diagnostics", "crates/perry-ui", diff --git a/crates/perry-container-e2e/src/lib.rs b/crates/perry-container-e2e/src/lib.rs index bbf7b15d04..8f0b92507c 100644 --- a/crates/perry-container-e2e/src/lib.rs +++ b/crates/perry-container-e2e/src/lib.rs @@ -63,12 +63,11 @@ pub struct E2eResult { /// per-test `extra_env` to set `PERRY_E2E_PORT` etc. pub fn run_e2e(name: &str, extra_env: &[(&str, &str)]) -> E2eResult { let root = workspace_root(); - let src = root.join("tests").join("e2e").join(format!("{}.e2e.ts", name)); - assert!( - src.exists(), - "missing e2e source: {}", - src.display() - ); + let src = root + .join("tests") + .join("e2e") + .join(format!("{}.e2e.ts", name)); + assert!(src.exists(), "missing e2e source: {}", src.display()); // Compile to a per-test binary in a tmp subdir so parallel runs // (if a future user disables --test-threads=1) don't clobber. @@ -94,8 +93,8 @@ pub fn run_e2e(name: &str, extra_env: &[(&str, &str)]) -> E2eResult { } // Run with a 5-minute walltime ceiling (image pulls can be slow). - let run = run_with_timeout(&bin_path, extra_env, Duration::from_secs(300)) - .expect("run e2e binary"); + let run = + run_with_timeout(&bin_path, extra_env, Duration::from_secs(300)).expect("run e2e binary"); E2eResult { exit_code: run.0, diff --git a/crates/perry-container-e2e/tests/e2e_container.rs b/crates/perry-container-e2e/tests/e2e_container.rs index 332a480a8c..b81dd1f6fe 100644 --- a/crates/perry-container-e2e/tests/e2e_container.rs +++ b/crates/perry-container-e2e/tests/e2e_container.rs @@ -9,7 +9,9 @@ fn e2e_redis_smoke() { eprintln!("[skipped] PERRY_E2E_TESTS=1 not set"); return; } - let port = std::process::id().to_string()[..5].parse::().unwrap_or(57399); + let port = std::process::id().to_string()[..5] + .parse::() + .unwrap_or(57399); let port_str = port.to_string(); let result = run_e2e("redis-smoke", &[("PERRY_E2E_PORT", port_str.as_str())]); assert_e2e_pass("redis-smoke", &result);