mirror of
https://github.com/rust-lang/cargo
synced 2024-10-14 03:32:39 +00:00
Add tests for testing several targets
This commit is contained in:
parent
3ae438d2b6
commit
85ce9e5787
|
@ -2571,3 +2571,79 @@ fn doctest_only_with_dev_dep() {
|
|||
assert_that(p.cargo_process("test").arg("--doc").arg("-v"),
|
||||
execs().with_status(0));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_can_test_example() {
|
||||
let p = project("foo")
|
||||
.file("Cargo.toml", r#"
|
||||
[project]
|
||||
name = "foo"
|
||||
version = "0.1.0"
|
||||
"#)
|
||||
.file("examples/ex.rs", r#"
|
||||
fn main() {}
|
||||
#[test] fn kaboom() { panic("KABOOM!") }
|
||||
"#);
|
||||
let _ = p;
|
||||
// FIXME: does not work
|
||||
// assert_that(p.cargo_process("test").arg("--example").arg("ex"),
|
||||
// execs().with_status(101).with_stdout_contains("KABOOM!"))
|
||||
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_many_targets() {
|
||||
let p = project("foo")
|
||||
.file("Cargo.toml", r#"
|
||||
[project]
|
||||
name = "foo"
|
||||
version = "0.1.0"
|
||||
"#)
|
||||
.file("src/bin/a.rs", r#"
|
||||
fn main() {}
|
||||
#[test] fn bin_a() {}
|
||||
"#)
|
||||
.file("src/bin/b.rs", r#"
|
||||
fn main() {}
|
||||
#[test] fn bin_b() {}
|
||||
"#)
|
||||
.file("src/bin/c.rs", r#"
|
||||
fn main() {}
|
||||
#[test] fn bin_c() { panic!(); }
|
||||
"#)
|
||||
.file("examples/a.rs", r#"
|
||||
fn main() {}
|
||||
#[test] fn example_a() {}
|
||||
"#)
|
||||
.file("examples/b.rs", r#"
|
||||
fn main() {}
|
||||
#[test] fn example_b() {}
|
||||
"#)
|
||||
.file("examples/c.rs", r#"
|
||||
#[test] fn example_c() { panic!(); }
|
||||
"#)
|
||||
.file("tests/a.rs", r#"
|
||||
#[test] fn test_a() {}
|
||||
"#)
|
||||
.file("tests/b.rs", r#"
|
||||
#[test] fn test_b() {}
|
||||
"#)
|
||||
.file("tests/c.rs", r#"
|
||||
#[test] fn test_c() { panic!(); }
|
||||
"#);
|
||||
|
||||
assert_that(p.cargo_process("test")
|
||||
.arg("--bin").arg("a").arg("--bin").arg("b")
|
||||
.arg("--example").arg("a").arg("--example").arg("b")
|
||||
.arg("--test").arg("a").arg("--test").arg("b"),
|
||||
execs()
|
||||
.with_status(0)
|
||||
.with_stdout_contains("test bin_a ... ok")
|
||||
.with_stdout_contains("test bin_b ... ok")
|
||||
.with_stdout_contains("test test_a ... ok")
|
||||
.with_stdout_contains("test test_b ... ok")
|
||||
// FIXME: does not work
|
||||
// .with_stdout_contains("test example_a ... ok")
|
||||
// .with_stdout_contains("test example_b ... ok")
|
||||
)
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue