1
Fork 0
mirror of https://github.com/RGBCube/uutils-coreutils synced 2025-07-27 19:17:43 +00:00

tests/stat ~ fix testing algorithm to correctly allow unknown values (with/without trailing newlines)

This commit is contained in:
Roy Ivy III 2020-05-23 22:43:00 -05:00
parent 7cfa8be5f2
commit 8a91f1dea4

View file

@ -200,11 +200,16 @@ fn test_terse_normal_format() {
println!("expect: {:?}", expect); println!("expect: {:?}", expect);
let v_actual: Vec<&str> = actual.split(' ').collect(); let v_actual: Vec<&str> = actual.split(' ').collect();
let v_expect: Vec<&str> = expect.split(' ').collect(); let v_expect: Vec<&str> = expect.split(' ').collect();
assert!(!v_expect.is_empty());
// * allow for inequality if `stat` (aka, expect) returns "0" (unknown value) // * allow for inequality if `stat` (aka, expect) returns "0" (unknown value)
assert!(v_actual assert!(
.iter() expect == "0"
.zip(v_expect.iter()) || expect == "0\n"
.all(|(a, e)| a == e || *e == "0")); || v_actual
.iter()
.zip(v_expect.iter())
.all(|(a, e)| a == e || *e == "0" || *e == "0\n")
);
} }
#[test] #[test]
@ -219,11 +224,16 @@ fn test_format_created_time() {
let re = regex::Regex::new(r"\s").unwrap(); let re = regex::Regex::new(r"\s").unwrap();
let v_actual: Vec<&str> = re.split(&actual).collect(); let v_actual: Vec<&str> = re.split(&actual).collect();
let v_expect: Vec<&str> = re.split(&expect).collect(); let v_expect: Vec<&str> = re.split(&expect).collect();
assert!(!v_expect.is_empty());
// * allow for inequality if `stat` (aka, expect) returns "-" (unknown value) // * allow for inequality if `stat` (aka, expect) returns "-" (unknown value)
assert!(v_actual assert!(
.iter() expect == "-"
.zip(v_expect.iter()) || expect == "-\n"
.all(|(a, e)| a == e || *e == "-")); || v_actual
.iter()
.zip(v_expect.iter())
.all(|(a, e)| a == e || *e == "-" || *e == "-\n")
);
} }
#[test] #[test]
@ -238,11 +248,16 @@ fn test_format_created_seconds() {
let re = regex::Regex::new(r"\s").unwrap(); let re = regex::Regex::new(r"\s").unwrap();
let v_actual: Vec<&str> = re.split(&actual).collect(); let v_actual: Vec<&str> = re.split(&actual).collect();
let v_expect: Vec<&str> = re.split(&expect).collect(); let v_expect: Vec<&str> = re.split(&expect).collect();
assert!(!v_expect.is_empty());
// * allow for inequality if `stat` (aka, expect) returns "0" (unknown value) // * allow for inequality if `stat` (aka, expect) returns "0" (unknown value)
assert!(v_actual assert!(
.iter() expect == "0"
.zip(v_expect.iter()) || expect == "0\n"
.all(|(a, e)| a == e || *e == "0")); || v_actual
.iter()
.zip(v_expect.iter())
.all(|(a, e)| a == e || *e == "0" || *e == "0\n")
);
} }
#[test] #[test]