From cd8008d7325d70a9ef2be8664c7304cf31b727e9 Mon Sep 17 00:00:00 2001 From: Benedikt Peetz Date: Thu, 19 Mar 2026 05:03:44 +0100 Subject: test(rocie-server/tests/testenv): Make sure that the env also works in nix's builds Nix changes the default target directory for rust builds. --- crates/rocie-server/build.rs | 6 ++++++ crates/rocie-server/tests/_testenv/init.rs | 10 +++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 crates/rocie-server/build.rs diff --git a/crates/rocie-server/build.rs b/crates/rocie-server/build.rs new file mode 100644 index 0000000..81caa36 --- /dev/null +++ b/crates/rocie-server/build.rs @@ -0,0 +1,6 @@ +fn main() { + println!( + "cargo:rustc-env=TARGET={}", + std::env::var("TARGET").unwrap() + ); +} diff --git a/crates/rocie-server/tests/_testenv/init.rs b/crates/rocie-server/tests/_testenv/init.rs index 758ca4e..52ecc68 100644 --- a/crates/rocie-server/tests/_testenv/init.rs +++ b/crates/rocie-server/tests/_testenv/init.rs @@ -86,7 +86,15 @@ fn prepare_files_and_dirs(test_dir: &Path) -> io::Result { } fn find_server_exe() -> PathBuf { - let target = target_dir().join("debug"); + let target = target_dir(); + + let target = if target.join("debug").exists() { + target.join("debug") + } else { + // assume that we have the target prefixed: + // E.g.: ./target/x86_64-linux-gnu/release/.. + target.join(env!("TARGET")).join("release") + }; let exe_name = if cfg!(windows) { "rocie-server.exe" -- cgit 1.4.1