Merge pull request #5911 from tertsdiepraam/echo-do-not-infer-long-args

`echo`: do not infer long args
This commit is contained in:
Daniel Hofstetter 2024-01-30 06:58:47 +01:00 committed by GitHub
commit 7ff00010ad
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 13 additions and 1 deletions

View file

@ -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)

View file

@ -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\n");
}
#[test]
fn partial_help_argument() {
new_ucmd!().arg("--he").succeeds().stdout_is("--he\n");
}