aboutsummaryrefslogtreecommitdiffstats
path: root/crates
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
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 '')
-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 {