From a9f11981043beadb0218dddd76cefc5abc6e6f76 Mon Sep 17 00:00:00 2001 From: Benedikt Peetz Date: Thu, 19 Mar 2026 05:22:51 +0100 Subject: test(rocie-server/tests/testenv): Make the binary finding algorithm more generic Now we do no longer assume, that nix does a release build and normal development uses a debug build. But we still prefer a debug artefact over the release one (assuming that the debug one will be newer). --- crates/rocie-server/tests/_testenv/init.rs | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/crates/rocie-server/tests/_testenv/init.rs b/crates/rocie-server/tests/_testenv/init.rs index 52ecc68..89384a5 100644 --- a/crates/rocie-server/tests/_testenv/init.rs +++ b/crates/rocie-server/tests/_testenv/init.rs @@ -88,12 +88,18 @@ fn prepare_files_and_dirs(test_dir: &Path) -> io::Result { fn find_server_exe() -> PathBuf { let target = target_dir(); - let target = if target.join("debug").exists() { + let prefixed_target = target.join(env!("TARGET")); + + let target = if prefixed_target.join("debug").exists() { + prefixed_target.join("debug") + } else if prefixed_target.join("release").exists() { + prefixed_target.join("release") + } else if target.join("debug").exists() { target.join("debug") + } else if target.join("release").exists() { + target.join("release") } else { - // assume that we have the target prefixed: - // E.g.: ./target/x86_64-linux-gnu/release/.. - target.join(env!("TARGET")).join("release") + panic!("Failed to find directory for rocie-server binary."); }; let exe_name = if cfg!(windows) { @@ -102,7 +108,13 @@ fn find_server_exe() -> PathBuf { "rocie-server" }; - target.join(exe_name) + let final_path = target.join(exe_name); + println!( + "TESTENV: Assuming `rocie-server` binary is at: `{}`", + final_path.display() + ); + + final_path } fn rocie_base_path(port: &str) -> String { -- cgit 1.4.1