From fbeb611e5f272051c3b0bc804fd6fe92e55db940 Mon Sep 17 00:00:00 2001 From: KtorZ Date: Mon, 4 Mar 2024 20:40:54 +0100 Subject: [PATCH] Show counter examples in green when property is expected to fail. --- crates/aiken-project/src/telemetry.rs | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/crates/aiken-project/src/telemetry.rs b/crates/aiken-project/src/telemetry.rs index be710bcf..b986de04 100644 --- a/crates/aiken-project/src/telemetry.rs +++ b/crates/aiken-project/src/telemetry.rs @@ -331,17 +331,35 @@ fn fmt_test( .. }) = result { + let is_expected_failure = result.is_success(); + test = format!( "{test}\n{}\n{}\n", - "× counterexample" - .if_supports_color(Stderr, |s| s.red()) - .if_supports_color(Stderr, |s| s.bold()), + if is_expected_failure { + "★ counterexample" + .if_supports_color(Stderr, |s| s.green()) + .if_supports_color(Stderr, |s| s.bold()) + .to_string() + } else { + "× counterexample" + .if_supports_color(Stderr, |s| s.red()) + .if_supports_color(Stderr, |s| s.bold()) + .to_string() + }, &Formatter::new() .expr(counterexample, false) .to_pretty_string(60) .lines() .map(|line| { - format!("{} {}", "│".if_supports_color(Stderr, |s| s.red()), line) + format!( + "{} {}", + "│".if_supports_color(Stderr, |s| if is_expected_failure { + s.green().to_string() + } else { + s.red().to_string() + }), + line + ) }) .collect::>() .join("\n")