From 6e9dc295aded458e6d2b1b4db410adb2cbc95cbf Mon Sep 17 00:00:00 2001 From: Nathan Adams Date: Thu, 23 Oct 2025 20:10:00 +0200 Subject: [PATCH 1/2] chore: Add local test output to .gitignore --- .gitignore | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitignore b/.gitignore index 7e1512f05c4a..2e6232f5de91 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,7 @@ RECOVER_*.fla # Mac junk .DS_Store + +# Test output +tests/tests/swfs/**/*.actual-*.png +tests/tests/swfs/**/*.difference-*.png From 37dd14e76a438d2c0d4575cea663d63652e80437 Mon Sep 17 00:00:00 2001 From: Nathan Adams Date: Thu, 23 Oct 2025 21:35:13 +0200 Subject: [PATCH 2/2] tests: Print a basic table of differences->outliers for failing image tests --- tests/framework/src/runner/image_test.rs | 31 ++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/tests/framework/src/runner/image_test.rs b/tests/framework/src/runner/image_test.rs index ffecbad44c0c..ee000e37cd12 100644 --- a/tests/framework/src/runner/image_test.rs +++ b/tests/framework/src/runner/image_test.rs @@ -152,6 +152,7 @@ pub fn test( &difference_image, ImageFormat::Png, )?; + print_outlier_table(&difference_data); } if is_alpha_different { @@ -191,6 +192,36 @@ pub fn test( Ok(()) } +fn print_outlier_table(difference_data: &[u8]) { + let mut count_per_differences = [0usize; 256]; + let mut total_differences = 0; + + for difference in difference_data { + if *difference > 0 { + total_differences += 1; + count_per_differences[*difference as usize] += 1; + } + } + + println!("-- Color Differences --"); + println!("Total > 0: {total_differences}"); + println!("difference | amount | percent | withPriors | remaining"); + let total = total_differences as f64; + let mut prior_count = 0; + for (i, count) in count_per_differences.iter().enumerate() { + if *count > 0 { + prior_count += count; + let pct = *count as f64 / total * 100.0; + let pct_inc_below = prior_count as f64 / total * 100.0; + let remaining = total_differences - prior_count; + println!( + "{i:>10} | {count:>10} | {pct:>6.2}% | {pct_inc_below:>9.2}% | {remaining:>9}" + ); + } + } + println!("-----"); +} + fn calculate_difference_data( actual_image: &image::RgbaImage, expected_image: &image::RgbaImage,