-
Notifications
You must be signed in to change notification settings - Fork 23
Expand file tree
/
Copy pathsimple-divan.rs
More file actions
84 lines (76 loc) · 1.97 KB
/
simple-divan.rs
File metadata and controls
84 lines (76 loc) · 1.97 KB
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
use assert_cmd::assert::OutputAssertExt;
use predicates::str::contains;
mod helpers;
use helpers::*;
const DIR: &str = "tests/simple-divan.in";
#[test]
fn test_divan_run_without_build() {
let dir = setup(DIR, Project::Simple);
cargo_codspeed(&dir)
.arg("run")
.assert()
.failure()
.stderr(contains("Error: No benchmarks found."));
teardown(dir);
}
#[test]
fn test_divan_build() {
let dir = setup(DIR, Project::Simple);
cargo_codspeed(&dir)
.arg("build")
.assert()
.success()
.stderr(contains("Built 2 benchmark suite(s)"));
teardown(dir);
}
#[test]
fn test_divan_build_and_run() {
let dir = setup(DIR, Project::Simple);
cargo_codspeed(&dir).arg("build").assert().success();
cargo_codspeed(&dir)
.arg("run")
.assert()
.success()
.stderr(contains("Finished running 2 benchmark suite(s)"));
teardown(dir);
}
#[test]
fn test_divan_build_single() {
let dir = setup(DIR, Project::Simple);
cargo_codspeed(&dir)
.arg("build")
.arg("another_divan_example")
.assert()
.success()
.stderr(contains("Built 1 benchmark suite(s)"))
.stderr(contains("another_divan_example"));
teardown(dir);
}
#[test]
fn test_divan_build_and_run_single() {
let dir = setup(DIR, Project::Simple);
cargo_codspeed(&dir)
.arg("build")
.arg("another_divan_example")
.assert()
.success();
cargo_codspeed(&dir)
.arg("run")
.arg("another_divan_example")
.assert()
.success()
.stderr(contains("Finished running 1 benchmark suite(s)"))
.stderr(contains("another_divan_example"));
teardown(dir);
}
#[test]
fn test_divan_cargo_bench_no_run() {
let dir = setup(DIR, Project::Simple);
std::process::Command::new("cargo")
.arg("bench")
.arg("--no-run")
.current_dir(&dir)
.assert()
.success();
teardown(dir);
}