1
Fork 0
mirror of https://github.com/RGBCube/uutils-coreutils synced 2025-07-28 11:37:44 +00:00

head/tail/split: make error handling of NUM/SIZE arguments more

consistent

* add tests for each flag that takes NUM/SIZE arguments
* fix bug in tail where 'quiet' and 'verbose' flags did not override each other POSIX style
This commit is contained in:
Jan Scheer 2021-06-03 20:37:29 +02:00
parent 5898b99627
commit ad26b7a042
7 changed files with 93 additions and 56 deletions

View file

@ -244,6 +244,7 @@ hello
",
);
}
#[test]
fn test_head_invalid_num() {
new_ucmd!()
@ -258,16 +259,26 @@ fn test_head_invalid_num() {
new_ucmd!()
.args(&["-c", "1Y", "emptyfile.txt"])
.fails()
.stderr_is(
"head: invalid number of bytes: 1Y: Value too large to be stored in data type",
);
.stderr_is("head: invalid number of bytes: 1Y: Value too large for defined data type");
#[cfg(not(target_pointer_width = "128"))]
new_ucmd!()
.args(&["-n", "1Y", "emptyfile.txt"])
.fails()
.stderr_is(
"head: invalid number of lines: 1Y: Value too large to be stored in data type",
);
.stderr_is("head: invalid number of lines: 1Y: Value too large for defined data type");
#[cfg(target_pointer_width = "32")]
{
let sizes = ["1000G", "10T"];
for size in &sizes {
new_ucmd!()
.args(&["-c", size])
.fails()
.code_is(1)
.stderr_only(format!(
"head: invalid number of bytes: {}: Value too large for defined data type",
size
));
}
}
}
#[test]