about summary refs log tree commit diff
path: root/pkgs/development/tools/rust/cargo-benchcmp/fix-test-binary-path.patch
blob: f4643e670ce6425e5968db20e93175625f7d790e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
--- a/tests/integration.rs
+++ b/tests/integration.rs
@@ -16,20 +16,13 @@ impl CommandUnderTest {
     fn new() -> CommandUnderTest {
         // To find the directory where the built binary is, we walk up the directory tree of the test binary until the
         // parent is "target/".
-        let mut binary_path = env::current_exe().expect("need current binary path to find binary to test");
-        loop {
-            {
-                let parent = binary_path.parent();
-                if parent.is_none() {
-                    panic!("Failed to locate binary path from original path: {:?}", env::current_exe());
-                }
-                let parent = parent.unwrap();
-                if parent.is_dir() && parent.file_name().unwrap() == "target" {
-                    break;
-                }
-            }
-            binary_path.pop();
-        }
+        let mut binary_path = PathBuf::from(
+            env::current_dir()
+                .unwrap()
+                .join("target")
+                .join("@shortTarget@")
+                .join(env!("cargoBuildType")),
+        );
 
         binary_path.push(
             if cfg!(target_os = "windows") {