Skip to content

Commit

Permalink
echo: do not infer long args
Browse files Browse the repository at this point in the history
  • Loading branch information
tertsdiepraam committed Jan 29, 2024
1 parent c439f81 commit bc9c62c
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 1 deletion.
4 changes: 3 additions & 1 deletion src/uu/echo/src/echo.rs
Original file line number Diff line number Diff line change
Expand Up @@ -132,13 +132,15 @@ pub fn uumain(args: impl uucore::Args) -> UResult<()> {
}

pub fn uu_app() -> Command {
// Note: echo is different from the other utils in that it should **not**
// have `infer_long_args(true)`, because, for example, `--ver` should be
// printed as `--ver` and not show the version text.
Command::new(uucore::util_name())
// TrailingVarArg specifies the final positional argument is a VarArg
// and it doesn't attempts the parse any further args.
// Final argument must have multiple(true) or the usage string equivalent.
.trailing_var_arg(true)
.allow_hyphen_values(true)
.infer_long_args(true)
.version(crate_version!())
.about(ABOUT)
.after_help(AFTER_HELP)
Expand Down
10 changes: 10 additions & 0 deletions tests/by-util/test_echo.rs
Original file line number Diff line number Diff line change
Expand Up @@ -293,3 +293,13 @@ fn old_octal_syntax() {
.succeeds()
.stdout_is("A1\n");
}

#[test]
fn partial_version_argument() {
new_ucmd!().arg("--ver").succeeds().stdout_is("--ver");
}

#[test]
fn partial_help_argument() {
new_ucmd!().arg("--he").succeeds().stdout_is("--ver");
}

0 comments on commit bc9c62c

Please sign in to comment.