generated from amazon-archives/__template_Apache-2.0
-
Notifications
You must be signed in to change notification settings - Fork 129
Open
Labels
[C] Feature / EnhancementA new feature request or enhancement to an existing feature.A new feature request or enhancement to an existing feature.[E] User ExperienceAn UX enhancement for an existing feature. Including deprecation of an existing one.An UX enhancement for an existing feature. Including deprecation of an existing one.
Description
Requested feature: Provide a cleaner user interface by default and allow users to control its verbosity.
Use case: Kani output can be very verbose which makes it hard to read.
Test case: Kani prints 2000+ lines (400+ properties) in this testcase taken from tests/kani/Vectors/vector_extend.rs:
#[kani::proof]
fn main() {
let mut v: Vec<u32> = Vec::new();
v.extend(42..=42);
assert!(v[0] == 42);
}Proposed solution:
Provide the following verbosity options to kani and cargo-kani:
- Default: Similar to today's output but without CBMC stats and only include user assertions for each harness.
- --quiet: Similar interface to
cargo test --quiet. I.e.:
running 5 harnesses
.....
verification result: ok. 5 passed; 0 failed; finished in 0.00s
with failure Kani displays the terse output for the failed tests:
running 5 harnesses
..F..
verification result: FAILED. 4 passed; 1 failed; finished in 0.00s
---- harness: <name> ----
VERIFICATION RESULT:
** 1 of 100 failed (10 unreacheable)
Failed Checks: assertion failed: 1 + 1 == 3
File: "/workspace/kani-project/kani/tests/ui/terse-output-format-fail/fail.rs", line 7, in main
VERIFICATION:- FAILED
failures:
<harness_name>
- --verbose: Today's default interface including all checks.
- --debug: Verbose output that also include debug logs.
- --raw: Hidden option to print CBMC's output as is. Implies debug.
For simplicity, I would prefer if we retire today's --output-format.
Alternative solution:
We could use --output-format [quiet | regular | verbose | debug | raw].
rmburg
Metadata
Metadata
Assignees
Labels
[C] Feature / EnhancementA new feature request or enhancement to an existing feature.A new feature request or enhancement to an existing feature.[E] User ExperienceAn UX enhancement for an existing feature. Including deprecation of an existing one.An UX enhancement for an existing feature. Including deprecation of an existing one.