cargo/tests/testsuite/timings.rs
Josh Triplett e23f5f41d1 Move timing reports to target/cargo-timings
This avoids dropping them wherever Cargo happens to run from, and
instead places them under the target directory.

This has the advantage, and disadvantage, that `cargo clean` will remove
them.
2022-01-30 21:43:52 -08:00

54 lines
1.1 KiB
Rust

//! Tests for --timings.
use cargo_test_support::project;
use cargo_test_support::registry::Package;
#[cargo_test]
fn timings_works() {
Package::new("dep", "0.1.0").publish();
let p = project()
.file(
"Cargo.toml",
r#"
[package]
name = "foo"
version = "0.1.0"
[dependencies]
dep = "0.1"
"#,
)
.file("src/lib.rs", "")
.file("src/main.rs", "fn main() {}")
.file("tests/t1.rs", "")
.file("examples/ex1.rs", "fn main() {}")
.build();
p.cargo("build --all-targets --timings")
.with_stderr_unordered(
"\
[UPDATING] [..]
[DOWNLOADING] crates ...
[DOWNLOADED] dep v0.1.0 [..]
[COMPILING] dep v0.1.0
[COMPILING] foo v0.1.0 [..]
[FINISHED] [..]
Timing report saved to [..]/foo/target/cargo-timings/cargo-timing-[..].html
",
)
.run();
p.cargo("clean").run();
p.cargo("test --timings").run();
p.cargo("clean").run();
p.cargo("check --timings").run();
p.cargo("clean").run();
p.cargo("doc --timings").run();
}