From 8a91f1dea4c8f19569971ac9dadccbaa0d9149ac Mon Sep 17 00:00:00 2001 From: Roy Ivy III Date: Sat, 23 May 2020 22:43:00 -0500 Subject: [PATCH] tests/stat ~ fix testing algorithm to correctly allow unknown values (with/without trailing newlines) --- tests/test_stat.rs | 39 +++++++++++++++++++++++++++------------ 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/tests/test_stat.rs b/tests/test_stat.rs index 51a677154..287561f6e 100644 --- a/tests/test_stat.rs +++ b/tests/test_stat.rs @@ -200,11 +200,16 @@ fn test_terse_normal_format() { println!("expect: {:?}", expect); let v_actual: Vec<&str> = actual.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) - assert!(v_actual - .iter() - .zip(v_expect.iter()) - .all(|(a, e)| a == e || *e == "0")); + assert!( + expect == "0" + || expect == "0\n" + || v_actual + .iter() + .zip(v_expect.iter()) + .all(|(a, e)| a == e || *e == "0" || *e == "0\n") + ); } #[test] @@ -219,11 +224,16 @@ fn test_format_created_time() { let re = regex::Regex::new(r"\s").unwrap(); let v_actual: Vec<&str> = re.split(&actual).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) - assert!(v_actual - .iter() - .zip(v_expect.iter()) - .all(|(a, e)| a == e || *e == "-")); + assert!( + expect == "-" + || expect == "-\n" + || v_actual + .iter() + .zip(v_expect.iter()) + .all(|(a, e)| a == e || *e == "-" || *e == "-\n") + ); } #[test] @@ -238,11 +248,16 @@ fn test_format_created_seconds() { let re = regex::Regex::new(r"\s").unwrap(); let v_actual: Vec<&str> = re.split(&actual).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) - assert!(v_actual - .iter() - .zip(v_expect.iter()) - .all(|(a, e)| a == e || *e == "0")); + assert!( + expect == "0" + || expect == "0\n" + || v_actual + .iter() + .zip(v_expect.iter()) + .all(|(a, e)| a == e || *e == "0" || *e == "0\n") + ); } #[test]