Split tests, apparently `cargo clean` does not work well on windows
authorXimin Luo <infinity0@pwned.gg>
Mon, 19 Mar 2018 17:20:54 +0000 (18:20 +0100)
committerXimin Luo <infinity0@pwned.gg>
Mon, 19 Mar 2018 17:20:54 +0000 (18:20 +0100)
tests/testsuite/build.rs
tests/testsuite/check.rs
tests/testsuite/rustc.rs

index 9025c51d3d8036e9bdcbbf75089db58774decacc..b7c4434734141bcb3f7c2dcbbe84e50ad4d135a0 100644 (file)
@@ -5337,7 +5337,7 @@ fn build_filter_infer_profile() {
 }
 
 #[test]
-fn all_targets_with_and_without() {
+fn targets_selected_default() {
     let p = project("foo")
         .file(
             "Cargo.toml",
@@ -5351,35 +5351,50 @@ fn all_targets_with_and_without() {
         .file("src/main.rs", "fn main() {}")
         .build();
     assert_that(
-        p.cargo("build").arg("-v").arg("--all-targets"),
+        p.cargo("build").arg("-v"),
         execs().with_status(0)
         // bin
         .with_stderr_contains("\
             [RUNNING] `rustc --crate-name foo src[/]main.rs --crate-type bin \
             --emit=dep-info,link[..]")
         // bench
-        .with_stderr_contains("\
+        .with_stderr_does_not_contain("\
             [RUNNING] `rustc --crate-name foo src[/]main.rs --emit=dep-info,link \
             -C opt-level=3 --test [..]")
         // unit test
-        .with_stderr_contains("\
+        .with_stderr_does_not_contain("\
             [RUNNING] `rustc --crate-name foo src[/]main.rs --emit=dep-info,link \
             -C debuginfo=2 --test [..]"),
     );
-    assert_that(p.cargo("clean"), execs().with_status(0));
+}
+
+#[test]
+fn targets_selected_all() {
+    let p = project("foo")
+        .file(
+            "Cargo.toml",
+            r#"
+            [package]
+            name = "foo"
+            version = "0.1.0"
+            authors = []
+        "#,
+        )
+        .file("src/main.rs", "fn main() {}")
+        .build();
     assert_that(
-        p.cargo("build").arg("-v"),
+        p.cargo("build").arg("-v").arg("--all-targets"),
         execs().with_status(0)
         // bin
         .with_stderr_contains("\
             [RUNNING] `rustc --crate-name foo src[/]main.rs --crate-type bin \
             --emit=dep-info,link[..]")
         // bench
-        .with_stderr_does_not_contain("\
+        .with_stderr_contains("\
             [RUNNING] `rustc --crate-name foo src[/]main.rs --emit=dep-info,link \
             -C opt-level=3 --test [..]")
         // unit test
-        .with_stderr_does_not_contain("\
+        .with_stderr_contains("\
             [RUNNING] `rustc --crate-name foo src[/]main.rs --emit=dep-info,link \
             -C debuginfo=2 --test [..]"),
     );
index 7a6b1b331658b4b2110373729768d77888aacef9..264abf898a1621bb6645d4cb93a0e2cbf9af662c 100644 (file)
@@ -606,7 +606,7 @@ fn check_virtual_all_implied() {
 }
 
 #[test]
-fn all_targets_with_and_without() {
+fn targets_selected_default() {
     let foo = project("foo")
         .file("Cargo.toml", SIMPLE_MANIFEST)
         .file("src/main.rs", "fn main() {}")
@@ -617,25 +617,37 @@ fn all_targets_with_and_without() {
         .build();
 
     assert_that(
-        foo.cargo("check").arg("--all-targets").arg("-v"),
+        foo.cargo("check").arg("-v"),
         execs()
             .with_status(0)
             .with_stderr_contains("[..] --crate-name foo src[/]lib.rs [..]")
             .with_stderr_contains("[..] --crate-name foo src[/]main.rs [..]")
-            .with_stderr_contains("[..] --crate-name example1 examples[/]example1.rs [..]")
-            .with_stderr_contains("[..] --crate-name test2 tests[/]test2.rs [..]")
-            .with_stderr_contains("[..] --crate-name bench3 benches[/]bench3.rs [..]"),
+            .with_stderr_does_not_contain("[..] --crate-name example1 examples[/]example1.rs [..]")
+            .with_stderr_does_not_contain("[..] --crate-name test2 tests[/]test2.rs [..]")
+            .with_stderr_does_not_contain("[..] --crate-name bench3 benches[/]bench3.rs [..]"),
     );
-    assert_that(foo.cargo("clean"), execs().with_status(0));
+}
+
+#[test]
+fn targets_selected_all() {
+    let foo = project("foo")
+        .file("Cargo.toml", SIMPLE_MANIFEST)
+        .file("src/main.rs", "fn main() {}")
+        .file("src/lib.rs", "pub fn smth() {}")
+        .file("examples/example1.rs", "fn main() {}")
+        .file("tests/test2.rs", "#[test] fn t() {}")
+        .file("benches/bench3.rs", "")
+        .build();
+
     assert_that(
-        foo.cargo("check").arg("-v"),
+        foo.cargo("check").arg("--all-targets").arg("-v"),
         execs()
             .with_status(0)
             .with_stderr_contains("[..] --crate-name foo src[/]lib.rs [..]")
             .with_stderr_contains("[..] --crate-name foo src[/]main.rs [..]")
-            .with_stderr_does_not_contain("[..] --crate-name example1 examples[/]example1.rs [..]")
-            .with_stderr_does_not_contain("[..] --crate-name test2 tests[/]test2.rs [..]")
-            .with_stderr_does_not_contain("[..] --crate-name bench3 benches[/]bench3.rs [..]"),
+            .with_stderr_contains("[..] --crate-name example1 examples[/]example1.rs [..]")
+            .with_stderr_contains("[..] --crate-name test2 tests[/]test2.rs [..]")
+            .with_stderr_contains("[..] --crate-name bench3 benches[/]bench3.rs [..]"),
     );
 }
 
index 582a9ee175c541aa2b8951104271454f4afa4ca2..297e1050c1068ecab83bc77715b72d135b9e9581 100644 (file)
@@ -438,7 +438,7 @@ fn build_only_bar_dependency() {
 }
 
 #[test]
-fn all_targets_with_and_without() {
+fn targets_selected_default() {
     let p = project("foo")
         .file(
             "Cargo.toml",
@@ -452,35 +452,50 @@ fn all_targets_with_and_without() {
         .file("src/main.rs", "fn main() {}")
         .build();
     assert_that(
-        p.cargo("rustc").arg("-v").arg("--all-targets"),
+        p.cargo("rustc").arg("-v"),
         execs().with_status(0)
         // bin
         .with_stderr_contains("\
             [RUNNING] `rustc --crate-name foo src[/]main.rs --crate-type bin \
             --emit=dep-info,link[..]")
         // bench
-        .with_stderr_contains("\
+        .with_stderr_does_not_contain("\
             [RUNNING] `rustc --crate-name foo src[/]main.rs --emit=dep-info,link \
             -C opt-level=3 --test [..]")
         // unit test
-        .with_stderr_contains("\
+        .with_stderr_does_not_contain("\
             [RUNNING] `rustc --crate-name foo src[/]main.rs --emit=dep-info,link \
             -C debuginfo=2 --test [..]"),
     );
-    assert_that(p.cargo("clean"), execs().with_status(0));
+}
+
+#[test]
+fn targets_selected_all() {
+    let p = project("foo")
+        .file(
+            "Cargo.toml",
+            r#"
+            [package]
+            name = "foo"
+            version = "0.1.0"
+            authors = []
+        "#,
+        )
+        .file("src/main.rs", "fn main() {}")
+        .build();
     assert_that(
-        p.cargo("rustc").arg("-v"),
+        p.cargo("rustc").arg("-v").arg("--all-targets"),
         execs().with_status(0)
         // bin
         .with_stderr_contains("\
             [RUNNING] `rustc --crate-name foo src[/]main.rs --crate-type bin \
             --emit=dep-info,link[..]")
         // bench
-        .with_stderr_does_not_contain("\
+        .with_stderr_contains("\
             [RUNNING] `rustc --crate-name foo src[/]main.rs --emit=dep-info,link \
             -C opt-level=3 --test [..]")
         // unit test
-        .with_stderr_does_not_contain("\
+        .with_stderr_contains("\
             [RUNNING] `rustc --crate-name foo src[/]main.rs --emit=dep-info,link \
             -C debuginfo=2 --test [..]"),
     );