1
Fork 0
mirror of https://github.com/RGBCube/uutils-coreutils synced 2025-07-28 03:27:44 +00:00

split: correct error message on invalid arg. to -a

Correct the error message displayed on an invalid parameter to the
`--suffix-length` or `-a` command-line option.
This commit is contained in:
Jeffrey Finkelstein 2022-01-31 19:04:32 -05:00
parent 1f7c08d87b
commit e5361a8c11
2 changed files with 16 additions and 5 deletions

View file

@ -233,12 +233,14 @@ struct Settings {
impl Settings {
/// Parse a strategy from the command-line arguments.
fn from(matches: &ArgMatches) -> UResult<Self> {
let suffix_length_str = matches.value_of(OPT_SUFFIX_LENGTH).unwrap();
let result = Self {
suffix_length: matches
.value_of(OPT_SUFFIX_LENGTH)
.unwrap()
.parse()
.unwrap_or_else(|_| panic!("Invalid number for {}", OPT_SUFFIX_LENGTH)),
suffix_length: suffix_length_str.parse().map_err(|_| {
USimpleError::new(
1,
format!("invalid suffix length: {}", suffix_length_str.quote()),
)
})?,
numeric_suffix: matches.occurrences_of(OPT_NUMERIC_SUFFIXES) > 0,
additional_suffix: matches.value_of(OPT_ADDITIONAL_SUFFIX).unwrap().to_owned(),
verbose: matches.occurrences_of("verbose") > 0,

View file

@ -440,3 +440,12 @@ fn test_number() {
assert_eq!(file_read("xad"), "pqrst");
assert_eq!(file_read("xae"), "uvwxyz");
}
#[test]
fn test_invalid_suffix_length() {
new_ucmd!()
.args(&["-a", "xyz"])
.fails()
.no_stdout()
.stderr_contains("invalid suffix length: 'xyz'");
}