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

test_pinky: refactor use expected_result from common/util.rs

This commit is contained in:
Jan Scheer 2021-07-07 15:53:46 +02:00
parent c2bd7ae9b1
commit 90de4257b1
No known key found for this signature in database
GPG key ID: C62AD4C29E2B9828

View file

@ -42,15 +42,17 @@ fn test_long_format() {
)); ));
} }
#[cfg(any(target_vendor = "apple", target_os = "linux"))] #[cfg(unix)]
#[test] #[test]
fn test_long_format_multiple_users() { fn test_long_format_multiple_users() {
let args = ["-l", "root", "root", "root"]; let args = ["-l", "root", "root", "root"];
let expect = unwrap_or_return!(expected_result(util_name!(), &args));
new_ucmd!() new_ucmd!()
.args(&args) .args(&args)
.succeeds() .succeeds()
.stdout_is(expected_result(&args)); .stdout_is(expect.stdout_str())
.stderr_is(expect.stderr_str());
} }
#[test] #[test]
@ -59,55 +61,38 @@ fn test_long_format_wo_user() {
new_ucmd!().arg("-l").fails().code_is(1); new_ucmd!().arg("-l").fails().code_is(1);
} }
#[cfg(any(target_vendor = "apple", target_os = "linux"))] #[cfg(unix)]
#[test] #[test]
fn test_short_format_i() { fn test_short_format_i() {
// allow whitespace variation // allow whitespace variation
// * minor whitespace differences occur between platform built-in outputs; specifically, the number of trailing TABs may be variant // * minor whitespace differences occur between platform built-in outputs; specifically, the number of trailing TABs may be variant
let args = ["-i"]; let args = ["-i"];
let actual = new_ucmd!().args(&args).succeeds().stdout_move_str(); let actual = new_ucmd!().args(&args).succeeds().stdout_move_str();
let expect = expected_result(&args); let expect = unwrap_or_return!(expected_result(util_name!(), &args)).stdout_move_str();
let v_actual: Vec<&str> = actual.split_whitespace().collect(); let v_actual: Vec<&str> = actual.split_whitespace().collect();
let v_expect: Vec<&str> = expect.split_whitespace().collect(); let v_expect: Vec<&str> = expect.split_whitespace().collect();
assert_eq!(v_actual, v_expect); assert_eq!(v_actual, v_expect);
} }
#[cfg(any(target_vendor = "apple", target_os = "linux"))] #[cfg(unix)]
#[test] #[test]
fn test_short_format_q() { fn test_short_format_q() {
// allow whitespace variation // allow whitespace variation
// * minor whitespace differences occur between platform built-in outputs; specifically, the number of trailing TABs may be variant // * minor whitespace differences occur between platform built-in outputs; specifically, the number of trailing TABs may be variant
let args = ["-q"]; let args = ["-q"];
let actual = new_ucmd!().args(&args).succeeds().stdout_move_str(); let actual = new_ucmd!().args(&args).succeeds().stdout_move_str();
let expect = expected_result(&args); let expect = unwrap_or_return!(expected_result(util_name!(), &args)).stdout_move_str();
let v_actual: Vec<&str> = actual.split_whitespace().collect(); let v_actual: Vec<&str> = actual.split_whitespace().collect();
let v_expect: Vec<&str> = expect.split_whitespace().collect(); let v_expect: Vec<&str> = expect.split_whitespace().collect();
assert_eq!(v_actual, v_expect); assert_eq!(v_actual, v_expect);
} }
#[cfg(any(target_vendor = "apple", target_os = "linux"))] #[cfg(unix)]
#[test] #[test]
fn test_no_flag() { fn test_no_flag() {
let actual = new_ucmd!().succeeds().stdout_move_str(); let actual = new_ucmd!().succeeds().stdout_move_str();
let expect = expected_result(&[]); let expect = unwrap_or_return!(expected_result(util_name!(), &[])).stdout_move_str();
let v_actual: Vec<&str> = actual.split_whitespace().collect(); let v_actual: Vec<&str> = actual.split_whitespace().collect();
let v_expect: Vec<&str> = expect.split_whitespace().collect(); let v_expect: Vec<&str> = expect.split_whitespace().collect();
assert_eq!(v_actual, v_expect); assert_eq!(v_actual, v_expect);
} }
#[cfg(any(target_vendor = "apple", target_os = "linux"))]
fn expected_result(args: &[&str]) -> String {
#[cfg(target_os = "linux")]
let util_name = util_name!();
#[cfg(target_vendor = "apple")]
let util_name = format!("g{}", util_name!());
// note: clippy::needless_borrow *false positive*
#[allow(clippy::needless_borrow)]
TestScenario::new(&util_name)
.cmd_keepenv(util_name)
.env("LC_ALL", "C")
.args(args)
.succeeds()
.stdout_move_str()
}