From 1b1446ce0c722a0736a6f25a968d393eaeb86f99 Mon Sep 17 00:00:00 2001 From: Terts Diepraam Date: Fri, 17 Mar 2023 21:49:26 +0100 Subject: [PATCH] date: make sure 'invalid date' message also returns exit code 1 --- src/uu/date/src/date.rs | 7 +++++-- tests/by-util/test_date.rs | 10 ++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/uu/date/src/date.rs b/src/uu/date/src/date.rs index 50736b2dae3..8337f64f1c9 100644 --- a/src/uu/date/src/date.rs +++ b/src/uu/date/src/date.rs @@ -22,7 +22,7 @@ use uucore::display::Quotable; #[cfg(not(any(target_os = "macos", target_os = "redox")))] use uucore::error::FromIo; use uucore::error::{UResult, USimpleError}; -use uucore::{format_usage, help_about, help_usage, show_error}; +use uucore::{format_usage, help_about, help_usage, show}; #[cfg(windows)] use windows_sys::Win32::{Foundation::SYSTEMTIME, System::SystemInformation::SetSystemTime}; @@ -257,7 +257,10 @@ pub fn uumain(args: impl uucore::Args) -> UResult<()> { .replace("%f", "%N"); println!("{formatted}"); } - Err((input, _err)) => show_error!("invalid date {}", input.quote()), + Err((input, _err)) => show!(USimpleError::new( + 1, + format!("invalid date {}", input.quote()) + )), } } } diff --git a/tests/by-util/test_date.rs b/tests/by-util/test_date.rs index a1064a8faa9..85f9540baa8 100644 --- a/tests/by-util/test_date.rs +++ b/tests/by-util/test_date.rs @@ -232,3 +232,13 @@ fn test_invalid_format_string() { result.no_stdout(); assert!(result.stderr_str().starts_with("date: invalid format ")); } + +#[test] +fn test_invalid_date_string() { + new_ucmd!() + .arg("-d") + .arg("foo") + .fails() + .no_stdout() + .stderr_contains("invalid date"); +}