diff --git a/crates/libtest2-harness/src/harness.rs b/crates/libtest2-harness/src/harness.rs index 41aa93d..202cf3d 100644 --- a/crates/libtest2-harness/src/harness.rs +++ b/crates/libtest2-harness/src/harness.rs @@ -8,22 +8,17 @@ pub struct Harness { } impl Harness { - pub fn with_args(args: impl IntoIterator>) -> Self { - let raw = expand_args(args); - Self { raw, cases: vec![] } - } - pub fn with_env() -> Self { let raw = std::env::args_os(); - let raw = expand_args(raw); - Self { raw, cases: vec![] } + Self::with_args(raw) } - pub fn case(&mut self, case: impl Case + 'static) { - self.cases.push(Box::new(case)); + pub fn with_args(args: impl IntoIterator>) -> Self { + let raw = expand_args(args); + Self { raw, cases: vec![] } } - pub fn cases(&mut self, cases: impl IntoIterator) { + pub fn discover(&mut self, cases: impl IntoIterator) { for case in cases { self.cases.push(Box::new(case)); } diff --git a/crates/libtest2-mimic/examples/mimic-simple.rs b/crates/libtest2-mimic/examples/mimic-simple.rs index a60f10c..bdfc68c 100644 --- a/crates/libtest2-mimic/examples/mimic-simple.rs +++ b/crates/libtest2-mimic/examples/mimic-simple.rs @@ -5,11 +5,13 @@ use libtest2_mimic::Trial; fn main() { libtest2_mimic::Harness::with_env() - .case(Trial::test("check_toph", check_toph)) - .case(Trial::test("check_katara", check_katara)) - .case(Trial::test("check_sokka", check_sokka)) - .case(Trial::test("long_computation", long_computation)) - .case(Trial::test("compile_fail_dummy", compile_fail_dummy)) + .discover([ + Trial::test("check_toph", check_toph), + Trial::test("check_katara", check_katara), + Trial::test("check_sokka", check_sokka), + Trial::test("long_computation", long_computation), + Trial::test("compile_fail_dummy", compile_fail_dummy), + ]) .main(); } diff --git a/crates/libtest2-mimic/examples/mimic-tidy.rs b/crates/libtest2-mimic/examples/mimic-tidy.rs index 71f50b4..6b72bf6 100644 --- a/crates/libtest2-mimic/examples/mimic-tidy.rs +++ b/crates/libtest2-mimic/examples/mimic-tidy.rs @@ -4,7 +4,7 @@ use libtest2_mimic::Trial; fn main() -> std::io::Result<()> { let tests = collect_tests()?; - libtest2_mimic::Harness::with_env().cases(tests).main() + libtest2_mimic::Harness::with_env().discover(tests).main() } /// Creates one test for each `.rs` file in the current directory or diff --git a/crates/libtest2-mimic/src/lib.rs b/crates/libtest2-mimic/src/lib.rs index d2456de..c3adfad 100644 --- a/crates/libtest2-mimic/src/lib.rs +++ b/crates/libtest2-mimic/src/lib.rs @@ -43,14 +43,9 @@ impl Harness { } } - pub fn case(mut self, case: Trial) -> Self { - self.harness.case(TrialCase { inner: case }); - self - } - - pub fn cases(mut self, cases: impl IntoIterator) -> Self { + pub fn discover(mut self, cases: impl IntoIterator) -> Self { self.harness - .cases(cases.into_iter().map(|c| TrialCase { inner: c })); + .discover(cases.into_iter().map(|c| TrialCase { inner: c })); self } diff --git a/crates/libtest2-mimic/tests/testsuite/all_passing.rs b/crates/libtest2-mimic/tests/testsuite/all_passing.rs index 6438fe5..f7d3450 100644 --- a/crates/libtest2-mimic/tests/testsuite/all_passing.rs +++ b/crates/libtest2-mimic/tests/testsuite/all_passing.rs @@ -10,7 +10,7 @@ fn test_cmd() -> snapbox::cmd::Command { fn main() { use libtest2_mimic::Trial; libtest2_mimic::Harness::with_env() - .cases(vec![ + .discover([ Trial::test("foo", |_| Ok(())), Trial::test("bar", |_| Ok(())), Trial::test("barro", |_| Ok(())), diff --git a/crates/libtest2-mimic/tests/testsuite/argfile.rs b/crates/libtest2-mimic/tests/testsuite/argfile.rs index 8d671db..720fc63 100644 --- a/crates/libtest2-mimic/tests/testsuite/argfile.rs +++ b/crates/libtest2-mimic/tests/testsuite/argfile.rs @@ -11,7 +11,7 @@ fn main() { use libtest2_mimic::Trial; use libtest2_mimic::RunError; libtest2_mimic::Harness::with_env() - .cases(vec![ + .discover([ Trial::test("one", |_| Ok(())), Trial::test("two", |_| Ok(())), Trial::test("three", |_| Ok(())), diff --git a/crates/libtest2-mimic/tests/testsuite/main_thread.rs b/crates/libtest2-mimic/tests/testsuite/main_thread.rs index 48cf9ed..6d0f57c 100644 --- a/crates/libtest2-mimic/tests/testsuite/main_thread.rs +++ b/crates/libtest2-mimic/tests/testsuite/main_thread.rs @@ -8,7 +8,7 @@ fn main() { use libtest2_mimic::Trial; let outer_thread = std::thread::current().id(); libtest2_mimic::Harness::with_env() - .cases(vec![ + .discover([ Trial::test("check", move |_| { assert_eq!(outer_thread, std::thread::current().id()); Ok(()) diff --git a/crates/libtest2-mimic/tests/testsuite/mixed_bag.rs b/crates/libtest2-mimic/tests/testsuite/mixed_bag.rs index 7e36001..9ca3ceb 100644 --- a/crates/libtest2-mimic/tests/testsuite/mixed_bag.rs +++ b/crates/libtest2-mimic/tests/testsuite/mixed_bag.rs @@ -11,7 +11,7 @@ fn main() { use libtest2_mimic::Trial; use libtest2_mimic::RunError; libtest2_mimic::Harness::with_env() - .cases(vec![ + .discover([ Trial::test("cat", |_| Ok(())), Trial::test("dog", |_| Err(RunError::fail("was not a good boy"))), Trial::test("fox", |_| Ok(())), diff --git a/crates/libtest2-mimic/tests/testsuite/panic.rs b/crates/libtest2-mimic/tests/testsuite/panic.rs index 9d2db79..7b164e7 100644 --- a/crates/libtest2-mimic/tests/testsuite/panic.rs +++ b/crates/libtest2-mimic/tests/testsuite/panic.rs @@ -10,7 +10,7 @@ fn test_cmd() -> snapbox::cmd::Command { fn main() { use libtest2_mimic::Trial; libtest2_mimic::Harness::with_env() - .cases(vec![ + .discover([ Trial::test("passes", |_| Ok(())), Trial::test("panics", |_| panic!("uh oh")), ]) diff --git a/crates/libtest2/examples/tidy.rs b/crates/libtest2/examples/tidy.rs index 9aecc30..57423df 100644 --- a/crates/libtest2/examples/tidy.rs +++ b/crates/libtest2/examples/tidy.rs @@ -5,7 +5,7 @@ use libtest2::Trial; fn main() -> std::io::Result<()> { let tests = collect_tests()?; let mut harness = libtest2::Harness::with_env(); - harness.cases(tests); + harness.discover(tests); harness.main() } diff --git a/crates/libtest2/src/lib.rs b/crates/libtest2/src/lib.rs index 3ac52ba..8bab2c4 100644 --- a/crates/libtest2/src/lib.rs +++ b/crates/libtest2/src/lib.rs @@ -76,8 +76,10 @@ macro_rules! libtest2_main { ( $( $test:path ),* $(,)*) => { fn main() { let mut harness = ::libtest2::Harness::with_env(); - $(harness.case(::libtest2::Trial::test(::std::stringify!($test), $test));)* - harness.main(); + harness.discover([ + $(::libtest2::Trial::test(::std::stringify!($test), $test)),* + ]); + harness.main(); } } }