Skip to content

Commit

Permalink
Split tests, apparently cargo clean does not work well on windows
Browse files Browse the repository at this point in the history
  • Loading branch information
infinity0 committed Mar 19, 2018
1 parent ce26ddf commit 0bc1155
Show file tree
Hide file tree
Showing 3 changed files with 68 additions and 26 deletions.
31 changes: 23 additions & 8 deletions tests/testsuite/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand All @@ -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 [..]"),
);
Expand Down
32 changes: 22 additions & 10 deletions tests/testsuite/check.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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() {}")
Expand All @@ -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 [..]"),
);
}

Expand Down
31 changes: 23 additions & 8 deletions tests/testsuite/rustc.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand All @@ -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 [..]"),
);
Expand Down

0 comments on commit 0bc1155

Please sign in to comment.