]> git.proxmox.com Git - cargo.git/commitdiff
Test cases proving RUSTC_WRAPPER can be a relative path
authorDale Wijnand <dale.wijnand@gmail.com>
Mon, 11 Feb 2019 21:06:42 +0000 (21:06 +0000)
committerDale Wijnand <dale.wijnand@gmail.com>
Thu, 14 Feb 2019 19:16:08 +0000 (19:16 +0000)
tests/testsuite/build.rs

index 892b7c9e27758395b4a67899627fbf56b3da43a7..ce071e92f33ad84bf6f97087bd9f6a7ed2ade663 100644 (file)
@@ -3954,23 +3954,37 @@ fn run_proper_binary_main_rs_as_foo() {
 }
 
 #[test]
+#[cfg(not(windows))] // We don't have /usr/bin/env on Windows.
 fn rustc_wrapper() {
-    // We don't have /usr/bin/env on Windows.
-    if cfg!(windows) {
-        return;
-    }
-
-    let p = project()
-        .file("Cargo.toml", &basic_bin_manifest("foo"))
-        .file("src/foo.rs", &main_file(r#""i am foo""#, &[]))
-        .build();
-
+    let p = project().file("src/lib.rs", "").build();
     p.cargo("build -v")
         .env("RUSTC_WRAPPER", "/usr/bin/env")
         .with_stderr_contains("[RUNNING] `/usr/bin/env rustc --crate-name foo [..]")
         .run();
 }
 
+#[test]
+#[cfg(not(windows))]
+fn rustc_wrapper_relative() {
+    let p = project().file("src/lib.rs", "").build();
+    p.cargo("build -v")
+        .env("RUSTC_WRAPPER", "./sccache")
+        .with_status(101)
+        .with_stderr_contains("[..]/foo/./sccache rustc[..]")
+        .run();
+}
+
+#[test]
+#[cfg(not(windows))]
+fn rustc_wrapper_from_path() {
+    let p = project().file("src/lib.rs", "").build();
+    p.cargo("build -v")
+        .env("RUSTC_WRAPPER", "wannabe_sccache")
+        .with_status(101)
+        .with_stderr_contains("[..]`wannabe_sccache rustc [..]")
+        .run();
+}
+
 #[test]
 fn cdylib_not_lifted() {
     let p = project()