Skip to content

Commit

Permalink
kill: test "-l <number>" & adapt error messages
Browse files Browse the repository at this point in the history
  • Loading branch information
cakebaker committed Jan 26, 2025
1 parent dfd5885 commit 0b1448b
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 6 deletions.
4 changes: 2 additions & 2 deletions src/uu/kill/src/kill.rs
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ fn print_signal(signal_name_or_value: &str) -> UResult<()> {
}
Err(USimpleError::new(
1,
format!("unknown signal name {}", signal_name_or_value.quote()),
format!("{}: invalid signal", signal_name_or_value.quote()),
))
}

Expand Down Expand Up @@ -205,7 +205,7 @@ fn parse_signal_value(signal_name: &str) -> UResult<usize> {
Some(x) => Ok(x),
None => Err(USimpleError::new(
1,
format!("unknown signal name {}", signal_name.quote()),
format!("{}: invalid signal", signal_name.quote()),
)),
}
}
Expand Down
25 changes: 21 additions & 4 deletions tests/by-util/test_kill.rs
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,24 @@ fn test_kill_table_lists_all_vertically() {
assert!(signals.contains(&"EXIT"));
}

#[test]
fn test_kill_list_one_signal_from_number() {
new_ucmd!()
.arg("-l")
.arg("9")
.succeeds()
.stdout_only("KILL\n");
}

#[test]
fn test_kill_list_one_signal_from_invalid_number() {
new_ucmd!()
.arg("-l")
.arg("99")
.fails()
.stderr_contains("'99': invalid signal");
}

#[test]
fn test_kill_list_one_signal_from_name() {
// Use SIGKILL because it is 9 on all unixes.
Expand Down Expand Up @@ -166,7 +184,7 @@ fn test_kill_list_three_signal_first_unknown() {
.arg("INT")
.arg("KILL")
.fails()
.stderr_contains("unknown signal")
.stderr_contains("'IAMNOTASIGNAL': invalid signal")
.stdout_matches(&Regex::new("\\d\n\\d").unwrap());
}

Expand All @@ -176,7 +194,7 @@ fn test_kill_set_bad_signal_name() {
.arg("-s")
.arg("IAMNOTASIGNAL") // spell-checker:disable-line
.fails()
.stderr_contains("unknown signal");
.stderr_contains("'IAMNOTASIGNAL': invalid signal");
}

#[test]
Expand Down Expand Up @@ -291,8 +309,7 @@ fn test_kill_with_signal_name_new_form_unknown_must_match_input_case() {
.arg("IaMnOtAsIgNaL")
.arg(format!("{}", target.pid()))
.fails()
.stderr_contains("unknown signal")
.stderr_contains("IaMnOtAsIgNaL");
.stderr_contains("'IaMnOtAsIgNaL': invalid signal");
}

#[test]
Expand Down

0 comments on commit 0b1448b

Please sign in to comment.