mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-07-28 03:27:44 +00:00
numfmt: add --invalid option (#4249)
* numfmt: add invalid option * numfmt: return code 0 if ignore or warn * numfmt: implement all --invalid modes * numfmt: validate stdout and stderr * numfmt: remove unnecessary code * numfmt: apply formatting * numfmt: fix clippy issues * numfmt: fix failing test cases * numfmt: fix formatting * numfmt: fix bug when handling broken pipe * numfmt: fix bug where extra newline was added * numfmt: add test cases for edge cases * numfmt: simplify error handling * numfmt: remove redundant if * numfmt: add newline between functions * numfmt: fix failing test cases * numfmt: add support for arg numbers using --invalid * numfmt: simplify error handling in value handlers * numfmt: fix merge conflict and align prints * numfmt: fix clippy suggestion * numfmt: replace "valid" with "invalid" in tests * numfmt: move INVALID to respect alph. order * numfmt: move printlns outside of match to avoid duplication Co-authored-by: Sylvestre Ledru <sledru@mozilla.com> * numfmt: remove empty line --------- Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com> Co-authored-by: Sylvestre Ledru <sledru@mozilla.com>
This commit is contained in:
parent
a145798594
commit
42bf580f13
3 changed files with 241 additions and 21 deletions
|
@ -666,8 +666,79 @@ fn test_invalid_stdin_number_in_middle_of_input() {
|
|||
}
|
||||
|
||||
#[test]
|
||||
fn test_invalid_argument_number_returns_status_2() {
|
||||
new_ucmd!().args(&["hello"]).fails().code_is(2);
|
||||
fn test_invalid_stdin_number_with_warn_returns_status_0() {
|
||||
new_ucmd!()
|
||||
.args(&["--invalid=warn"])
|
||||
.pipe_in("4Q")
|
||||
.succeeds()
|
||||
.stdout_is("4Q\n")
|
||||
.stderr_is("numfmt: invalid suffix in input: '4Q'\n");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_invalid_stdin_number_with_ignore_returns_status_0() {
|
||||
new_ucmd!()
|
||||
.args(&["--invalid=ignore"])
|
||||
.pipe_in("4Q")
|
||||
.succeeds()
|
||||
.stdout_only("4Q\n");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_invalid_stdin_number_with_abort_returns_status_2() {
|
||||
new_ucmd!()
|
||||
.args(&["--invalid=abort"])
|
||||
.pipe_in("4Q")
|
||||
.fails()
|
||||
.code_is(2)
|
||||
.stderr_only("numfmt: invalid suffix in input: '4Q'\n");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_invalid_stdin_number_with_fail_returns_status_2() {
|
||||
new_ucmd!()
|
||||
.args(&["--invalid=fail"])
|
||||
.pipe_in("4Q")
|
||||
.fails()
|
||||
.code_is(2)
|
||||
.stdout_is("4Q\n")
|
||||
.stderr_is("numfmt: invalid suffix in input: '4Q'\n");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_invalid_arg_number_with_warn_returns_status_0() {
|
||||
new_ucmd!()
|
||||
.args(&["--invalid=warn", "4Q"])
|
||||
.succeeds()
|
||||
.stdout_is("4Q\n")
|
||||
.stderr_is("numfmt: invalid suffix in input: '4Q'\n");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_invalid_arg_number_with_ignore_returns_status_0() {
|
||||
new_ucmd!()
|
||||
.args(&["--invalid=ignore", "4Q"])
|
||||
.succeeds()
|
||||
.stdout_only("4Q\n");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_invalid_arg_number_with_abort_returns_status_2() {
|
||||
new_ucmd!()
|
||||
.args(&["--invalid=abort", "4Q"])
|
||||
.fails()
|
||||
.code_is(2)
|
||||
.stderr_only("numfmt: invalid suffix in input: '4Q'\n");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_invalid_arg_number_with_fail_returns_status_2() {
|
||||
new_ucmd!()
|
||||
.args(&["--invalid=fail", "4Q"])
|
||||
.fails()
|
||||
.code_is(2)
|
||||
.stdout_is("4Q\n")
|
||||
.stderr_is("numfmt: invalid suffix in input: '4Q'\n");
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue