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

kill: accept all casings for signal names in --list

This commit is contained in:
Haisham 2024-04-14 22:46:00 +05:00 committed by Ben Wiederhake
parent 7f71611849
commit 524be6e4ae
2 changed files with 22 additions and 1 deletions

View file

@ -154,7 +154,9 @@ fn table() {
fn print_signal(signal_name_or_value: &str) -> UResult<()> {
for (value, &signal) in ALL_SIGNALS.iter().enumerate() {
if signal == signal_name_or_value || (format!("SIG{signal}")) == signal_name_or_value {
if signal.eq_ignore_ascii_case(signal_name_or_value)
|| format!("SIG{signal}").eq_ignore_ascii_case(signal_name_or_value)
{
println!("{value}");
return Ok(());
} else if signal_name_or_value == value.to_string() {

View file

@ -116,6 +116,25 @@ fn test_kill_list_one_signal_from_name() {
.stdout_matches(&Regex::new("\\b9\\b").unwrap());
}
#[test]
fn test_kill_list_one_signal_ignore_case() {
// Use SIGKILL because it is 9 on all unixes.
new_ucmd!()
.arg("-l")
.arg("KiLl")
.succeeds()
.stdout_matches(&Regex::new("\\b9\\b").unwrap());
}
#[test]
fn test_kill_list_unknown_must_match_input_case() {
new_ucmd!()
.arg("-l")
.arg("IaMnOtAsIgNaL") // spell-checker:disable-line
.fails()
.stderr_contains("IaMnOtAsIgNaL"); // spell-checker:disable-line
}
#[test]
fn test_kill_list_all_vertically() {
// Check for a few signals. Do not try to be comprehensive.