From ace58e368c0a58ffe518e4fb82b5cdeef576f22e Mon Sep 17 00:00:00 2001 From: Pi Lanningham Date: Fri, 8 Mar 2024 20:40:50 -0500 Subject: [PATCH] Correctly report the checks count It might be slightly cleaner and more extensible to change to return a summary, potentially even making track the tests, coverage, etc. so it can be serialized to JSON. But, for now, this is much simpler, and the approach that KtorZ suggested. --- crates/aiken-project/src/lib.rs | 11 +++++++++++ crates/aiken-project/src/watch.rs | 4 ++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/crates/aiken-project/src/lib.rs b/crates/aiken-project/src/lib.rs index c4f6a1f0..f442fa39 100644 --- a/crates/aiken-project/src/lib.rs +++ b/crates/aiken-project/src/lib.rs @@ -89,6 +89,7 @@ where root: PathBuf, sources: Vec, warnings: Vec, + checks_count: Option, event_listener: T, functions: IndexMap, data_types: IndexMap, @@ -128,6 +129,7 @@ where root, sources: vec![], warnings: vec![], + checks_count: None, event_listener, functions, data_types, @@ -336,6 +338,15 @@ where let tests = self.run_tests(tests, seed); + self.checks_count = if tests.is_empty() { None } else { + Some(tests.iter().fold(0, |acc, test| { + acc + match test { + TestResult::PropertyTestResult(r) => r.iterations, + _ => 1, + } + })) + }; + let errors: Vec = tests .iter() .filter_map(|e| { diff --git a/crates/aiken-project/src/watch.rs b/crates/aiken-project/src/watch.rs index 2ae04ffc..f1a84d9b 100644 --- a/crates/aiken-project/src/watch.rs +++ b/crates/aiken-project/src/watch.rs @@ -120,7 +120,7 @@ where eprintln!( "{}", Summary { - check_count: None, + check_count: project.checks_count, warning_count, error_count: errs.len(), } @@ -132,7 +132,7 @@ where eprintln!( "{}", Summary { - check_count: Some(41), + check_count: project.checks_count, error_count: 0, warning_count }