about summary refs log tree commit diff stats
path: root/crates/rocie-server/tests
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2026-03-19 05:22:51 +0100
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2026-03-19 05:23:52 +0100
commita9f11981043beadb0218dddd76cefc5abc6e6f76 (patch)
treed0ab9bd0cf9aa62e7e51253edd078a7984d23ab2 /crates/rocie-server/tests
parenttest(rocie-server/tests/testenv): Make sure that the env also works in nix's ... (diff)
downloadserver-a9f11981043beadb0218dddd76cefc5abc6e6f76.zip
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).
Diffstat (limited to 'crates/rocie-server/tests')
-rw-r--r--crates/rocie-server/tests/_testenv/init.rs22
1 files 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<Paths> {
 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 {