From a68d77b8cf30de1e7946fb26671a8086d4b76ed2 Mon Sep 17 00:00:00 2001 From: Daniel Hofstetter Date: Mon, 28 Mar 2022 10:13:54 +0200 Subject: [PATCH] df: --output w/o "=" doesn't expect further args "df --output ." was treated as "df --output=." and hence "." was interpreted as a column name. With this commit, "." is treated as an argument on its own. Fixes #3324 --- src/uu/df/src/df.rs | 2 ++ tests/by-util/test_df.rs | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/src/uu/df/src/df.rs b/src/uu/df/src/df.rs index ee2ea83a0..525e2f086 100644 --- a/src/uu/df/src/df.rs +++ b/src/uu/df/src/df.rs @@ -388,6 +388,8 @@ pub fn uu_app<'a>() -> Command<'a> { Arg::new(OPT_OUTPUT) .long("output") .takes_value(true) + .min_values(0) + .require_equals(true) .use_value_delimiter(true) .multiple_occurrences(true) .possible_values(OUTPUT_FIELD_LIST) diff --git a/tests/by-util/test_df.rs b/tests/by-util/test_df.rs index 4c87fc63e..b178c40c0 100644 --- a/tests/by-util/test_df.rs +++ b/tests/by-util/test_df.rs @@ -80,6 +80,11 @@ fn test_output_option() { new_ucmd!().arg("--output=invalid_option").fails(); } +#[test] +fn test_output_option_without_equals_sign() { + new_ucmd!().arg("--output").arg(".").succeeds(); +} + #[test] fn test_type_option() { new_ucmd!().args(&["-t", "ext4", "-t", "ext3"]).succeeds();