blob: b5c5552fa8ea1879582f796f73de00758548f8af [file] [log] [blame] [edit]
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
");
}