diff --git a/src/uu/hostname/src/hostname.rs b/src/uu/hostname/src/hostname.rs index 89caf0014..37bcc6074 100644 --- a/src/uu/hostname/src/hostname.rs +++ b/src/uu/hostname/src/hostname.rs @@ -177,8 +177,10 @@ fn display_hostname(matches: &ArgMatches) -> UResult<()> { } else { println!("{}", &hostname[ci.0 + 1..]); } - return Ok(()); + } else if matches.get_flag(OPT_SHORT) { + println!("{hostname}"); } + return Ok(()); } println!("{hostname}"); diff --git a/tests/by-util/test_hostname.rs b/tests/by-util/test_hostname.rs index cb7a37e23..e58c236a5 100644 --- a/tests/by-util/test_hostname.rs +++ b/tests/by-util/test_hostname.rs @@ -37,3 +37,16 @@ fn test_hostname_full() { fn test_invalid_arg() { new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } + +#[test] +fn test_hostname_domain_empty() { + let fqdn = new_ucmd!().arg("-f").succeeds(); + let short = new_ucmd!().arg("-s").succeeds(); + let domain = new_ucmd!().arg("-d").succeeds(); + let domain_short = new_ucmd!().arg("-sd").succeeds(); + + if fqdn.stdout() == short.stdout() { + assert!(domain.stdout().is_empty()); + assert!(domain_short.stdout().is_empty()); + } +}