summaryrefslogtreecommitdiffstats
path: root/src/tools/cargo/tests/testsuite/timings.rs
blob: 8f06ac69bc7b83beff756a89c40237e4cc7b2822 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
//! 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();
}