mirror of
https://github.com/uutils/coreutils
synced 2024-11-05 14:21:32 +00:00
od: fix reading from file while supplying a format argument
The following test case read stdin instead of file: ``` echo abcdefg > file cargo run -- od --format x1 file ``` This is because the -t/--format argument was able to absorb multiple arguments after it. This has now been fixed, and a test case is added to ensure it will not happen again.
This commit is contained in:
parent
32d281bbcc
commit
6af3f774f1
2 changed files with 12 additions and 0 deletions
|
@ -435,6 +435,7 @@ pub fn uu_app() -> clap::App<'static, 'static> {
|
|||
.long(options::FORMAT)
|
||||
.help("select output format or formats")
|
||||
.multiple(true)
|
||||
.number_of_values(1)
|
||||
.value_name("TYPE"),
|
||||
)
|
||||
.arg(
|
||||
|
|
|
@ -46,6 +46,17 @@ fn test_file() {
|
|||
.succeeds()
|
||||
.no_stderr()
|
||||
.stdout_is(unindent(ALPHA_OUT));
|
||||
|
||||
// Ensure that default format matches `-t o2`, and that `-t` does not absorb file argument
|
||||
new_ucmd!()
|
||||
.arg("--endian=little")
|
||||
.arg("-t")
|
||||
.arg("o2")
|
||||
.arg(file.as_os_str())
|
||||
.succeeds()
|
||||
.no_stderr()
|
||||
.stdout_is(unindent(ALPHA_OUT));
|
||||
|
||||
let _ = remove_file(file);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue