From 74bd9a26d6d1d9c43fd2fce161ddbabd4bd375ef Mon Sep 17 00:00:00 2001 From: Daniel Hofstetter Date: Tue, 19 Jul 2022 14:07:46 +0200 Subject: [PATCH] numfmt: show "invalid suffix" error for "i" suffix --- src/uu/numfmt/src/format.rs | 2 +- tests/by-util/test_numfmt.rs | 15 ++++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/uu/numfmt/src/format.rs b/src/uu/numfmt/src/format.rs index 7c4ad723b..0512779ca 100644 --- a/src/uu/numfmt/src/format.rs +++ b/src/uu/numfmt/src/format.rs @@ -79,7 +79,7 @@ fn parse_suffix(s: &str) -> Result<(f64, Option)> { Some('E') => Some((RawSuffix::E, with_i)), Some('Z') => Some((RawSuffix::Z, with_i)), Some('Y') => Some((RawSuffix::Y, with_i)), - Some('0'..='9') => None, + Some('0'..='9') if !with_i => None, _ => return Err(format!("invalid suffix in input: {}", s.quote())), }; diff --git a/tests/by-util/test_numfmt.rs b/tests/by-util/test_numfmt.rs index be46d7891..b11526e48 100644 --- a/tests/by-util/test_numfmt.rs +++ b/tests/by-util/test_numfmt.rs @@ -208,11 +208,16 @@ fn test_should_report_invalid_empty_number_on_blank_stdin() { #[test] fn test_should_report_invalid_suffix_on_stdin() { - new_ucmd!() - .args(&["--from=auto"]) - .pipe_in("1k") - .run() - .stderr_is("numfmt: invalid suffix in input: '1k'\n"); + for c in b'a'..=b'z' { + new_ucmd!() + .args(&["--from=auto"]) + .pipe_in(format!("1{}", c as char)) + .run() + .stderr_is(format!( + "numfmt: invalid suffix in input: '1{}'\n", + c as char + )); + } // GNU numfmt reports this one as “invalid number” new_ucmd!()