163 lines
3.2 KiB
Rust
163 lines
3.2 KiB
Rust
|
|
use common::{args, check};
|
||
|
|
use libtest_mimic::{Trial, Conclusion};
|
||
|
|
use pretty_assertions::assert_eq;
|
||
|
|
|
||
|
|
use crate::common::do_run;
|
||
|
|
|
||
|
|
#[macro_use]
|
||
|
|
mod common;
|
||
|
|
|
||
|
|
|
||
|
|
fn tests() -> Vec<Trial> {
|
||
|
|
vec![
|
||
|
|
Trial::test("foo", || Ok(())),
|
||
|
|
Trial::test("bar", || Ok(())),
|
||
|
|
Trial::test("barro", || Ok(())),
|
||
|
|
]
|
||
|
|
}
|
||
|
|
|
||
|
|
#[test]
|
||
|
|
fn normal() {
|
||
|
|
check(args([]), tests, 3,
|
||
|
|
Conclusion {
|
||
|
|
num_filtered_out: 0,
|
||
|
|
num_passed: 3,
|
||
|
|
num_failed: 0,
|
||
|
|
num_ignored: 0,
|
||
|
|
num_measured: 0,
|
||
|
|
},
|
||
|
|
"
|
||
|
|
test foo ... ok
|
||
|
|
test bar ... ok
|
||
|
|
test barro ... ok
|
||
|
|
"
|
||
|
|
);
|
||
|
|
}
|
||
|
|
|
||
|
|
#[test]
|
||
|
|
fn filter_one() {
|
||
|
|
check(args(["foo"]), tests, 1,
|
||
|
|
Conclusion {
|
||
|
|
num_filtered_out: 2,
|
||
|
|
num_passed: 1,
|
||
|
|
num_failed: 0,
|
||
|
|
num_ignored: 0,
|
||
|
|
num_measured: 0,
|
||
|
|
},
|
||
|
|
"test foo ... ok",
|
||
|
|
);
|
||
|
|
}
|
||
|
|
|
||
|
|
#[test]
|
||
|
|
fn filter_two() {
|
||
|
|
check(args(["bar"]), tests, 2,
|
||
|
|
Conclusion {
|
||
|
|
num_filtered_out: 1,
|
||
|
|
num_passed: 2,
|
||
|
|
num_failed: 0,
|
||
|
|
num_ignored: 0,
|
||
|
|
num_measured: 0,
|
||
|
|
},
|
||
|
|
"
|
||
|
|
test bar ... ok
|
||
|
|
test barro ... ok
|
||
|
|
",
|
||
|
|
);
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
#[test]
|
||
|
|
fn filter_exact() {
|
||
|
|
check(args(["bar", "--exact"]), tests, 1,
|
||
|
|
Conclusion {
|
||
|
|
num_filtered_out: 2,
|
||
|
|
num_passed: 1,
|
||
|
|
num_failed: 0,
|
||
|
|
num_ignored: 0,
|
||
|
|
num_measured: 0,
|
||
|
|
},
|
||
|
|
"test bar ... ok",
|
||
|
|
);
|
||
|
|
}
|
||
|
|
|
||
|
|
#[test]
|
||
|
|
fn filter_two_and_skip() {
|
||
|
|
check(args(["--skip", "barro", "bar"]), tests, 1,
|
||
|
|
Conclusion {
|
||
|
|
num_filtered_out: 2,
|
||
|
|
num_passed: 1,
|
||
|
|
num_failed: 0,
|
||
|
|
num_ignored: 0,
|
||
|
|
num_measured: 0,
|
||
|
|
},
|
||
|
|
"test bar ... ok",
|
||
|
|
);
|
||
|
|
}
|
||
|
|
|
||
|
|
#[test]
|
||
|
|
fn skip_nothing() {
|
||
|
|
check(args(["--skip", "peter"]), tests, 3,
|
||
|
|
Conclusion {
|
||
|
|
num_filtered_out: 0,
|
||
|
|
num_passed: 3,
|
||
|
|
num_failed: 0,
|
||
|
|
num_ignored: 0,
|
||
|
|
num_measured: 0,
|
||
|
|
},
|
||
|
|
"
|
||
|
|
test foo ... ok
|
||
|
|
test bar ... ok
|
||
|
|
test barro ... ok
|
||
|
|
"
|
||
|
|
);
|
||
|
|
}
|
||
|
|
|
||
|
|
#[test]
|
||
|
|
fn skip_two() {
|
||
|
|
check(args(["--skip", "bar"]), tests, 1,
|
||
|
|
Conclusion {
|
||
|
|
num_filtered_out: 2,
|
||
|
|
num_passed: 1,
|
||
|
|
num_failed: 0,
|
||
|
|
num_ignored: 0,
|
||
|
|
num_measured: 0,
|
||
|
|
},
|
||
|
|
"test foo ... ok"
|
||
|
|
);
|
||
|
|
}
|
||
|
|
|
||
|
|
#[test]
|
||
|
|
fn skip_exact() {
|
||
|
|
check(args(["--exact", "--skip", "bar"]), tests, 2,
|
||
|
|
Conclusion {
|
||
|
|
num_filtered_out: 1,
|
||
|
|
num_passed: 2,
|
||
|
|
num_failed: 0,
|
||
|
|
num_ignored: 0,
|
||
|
|
num_measured: 0,
|
||
|
|
},
|
||
|
|
"
|
||
|
|
test foo ... ok
|
||
|
|
test barro ... ok
|
||
|
|
"
|
||
|
|
);
|
||
|
|
}
|
||
|
|
|
||
|
|
#[test]
|
||
|
|
fn terse_output() {
|
||
|
|
let (c, out) = do_run(args(["--format", "terse"]), tests());
|
||
|
|
assert_eq!(c, Conclusion {
|
||
|
|
num_filtered_out: 0,
|
||
|
|
num_passed: 3,
|
||
|
|
num_failed: 0,
|
||
|
|
num_ignored: 0,
|
||
|
|
num_measured: 0,
|
||
|
|
});
|
||
|
|
assert_log!(out, "
|
||
|
|
running 3 tests
|
||
|
|
...
|
||
|
|
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; \
|
||
|
|
finished in 0.00s
|
||
|
|
");
|
||
|
|
}
|