From 246db3555503085f43711630ee4e92b1ea3cc055 Mon Sep 17 00:00:00 2001 From: Wondr Date: Fri, 5 Jun 2026 07:17:20 +0100 Subject: [PATCH] b2sum: report malformed status input --- .../src/lib/features/checksum/validate.rs | 4 +--- tests/by-util/test_b2sum.rs | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/uucore/src/lib/features/checksum/validate.rs b/src/uucore/src/lib/features/checksum/validate.rs index b393b227589..80408dd98b5 100644 --- a/src/uucore/src/lib/features/checksum/validate.rs +++ b/src/uucore/src/lib/features/checksum/validate.rs @@ -951,9 +951,7 @@ fn process_checksum_file( // not a single line correctly formatted found // return an error if res.total_properly_formatted() == 0 { - if opts.verbose.over_status() { - log_no_properly_formatted(filename_display()); - } + log_no_properly_formatted(filename_display()); return Err(FileCheckError::Failed); } diff --git a/tests/by-util/test_b2sum.rs b/tests/by-util/test_b2sum.rs index 2bbc15a8c64..07e615c9ae8 100644 --- a/tests/by-util/test_b2sum.rs +++ b/tests/by-util/test_b2sum.rs @@ -158,6 +158,23 @@ fn test_check_b2sum_length_option_8() { .stdout_only("testf: OK\n"); } +#[test] +fn test_check_b2sum_status_reports_no_properly_formatted_lines() { + let invalid_checksum = concat!( + "bedfbb90d858c2d67b7ee8f7523be3d3b54004ef9e4f02f2", + "ad79a1d05bfdfe49b81e3c92ebf99b504102b6bf003fa342", + "587f5b3124c205f55204e8c4b4ce7d7c", + ); + + new_ucmd!() + .arg("-c") + .arg("--status") + .pipe_in(invalid_checksum) + .fails() + .no_stdout() + .stderr_contains("b2sum: 'standard input': no properly formatted checksum lines found"); +} + #[test] fn test_invalid_b2sum_length_option_not_multiple_of_8() { let scene = TestScenario::new(util_name!());