Skip to content

Commit 5283b7d

Browse files
committed
env, test: use correct exit codes on --help/--version write failure (125, 2)
1 parent 2a2e10a commit 5283b7d

2 files changed

Lines changed: 6 additions & 3 deletions

File tree

src/uu/env/src/env.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ use std::io::stderr;
4040
use std::os::unix::ffi::OsStrExt;
4141

4242
use uucore::display::{Quotable, print_all_env_vars};
43-
use uucore::error::{ExitCode, UError, UResult, USimpleError, UUsageError};
43+
use uucore::error::{ExitCode, UClapError, UError, UResult, USimpleError, UUsageError};
4444
use uucore::line_ending::LineEnding;
4545
#[cfg(unix)]
4646
use uucore::signals::{signal_by_name_or_value, signal_name_by_value, signal_number_upper_bound};
@@ -662,7 +662,9 @@ impl EnvAppData {
662662
Err(e) => {
663663
match e.kind() {
664664
clap::error::ErrorKind::DisplayHelp
665-
| clap::error::ErrorKind::DisplayVersion => return Err(e.into()),
665+
| clap::error::ErrorKind::DisplayVersion => {
666+
return Err(e.with_exit_code(125).into());
667+
}
666668
_ => {
667669
// Use ErrorFormatter directly to handle error with shebang message callback
668670
let formatter = uucore::clap_localization::ErrorFormatter::new("env");

src/uu/test/src/test.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,10 @@ pub fn uumain(mut args: impl uucore::Args) -> UResult<()> {
5151
if binary_name.ends_with('[') {
5252
// If invoked as [ we should recognize --help and --version (but not -h or -v)
5353
if args.len() == 1 && (args[0] == "--help" || args[0] == "--version") {
54-
uucore::clap_localization::handle_clap_result(
54+
uucore::clap_localization::handle_clap_result_with_exit_code(
5555
uu_app(),
5656
std::iter::once(program).chain(args.into_iter()),
57+
2,
5758
)?;
5859
return Ok(());
5960
}

0 commit comments

Comments
 (0)