mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-07-28 03:27:44 +00:00
tests/common: refactor: use TestScenario instead of util_name for expected_result()
This commit is contained in:
parent
31aa8b2062
commit
abc59fbe85
6 changed files with 189 additions and 221 deletions
|
@ -114,16 +114,18 @@ const FS_FORMAT_STR: &str = "%b %c %i %l %n %s %S %t %T"; // avoid "%a %d %f" wh
|
|||
#[cfg(target_os = "linux")]
|
||||
fn test_terse_fs_format() {
|
||||
let args = ["-f", "-t", "/proc"];
|
||||
let expected_stdout = unwrap_or_return!(expected_result(util_name!(), &args)).stdout_move_str();
|
||||
new_ucmd!().args(&args).run().stdout_is(expected_stdout);
|
||||
let ts = TestScenario::new(util_name!());
|
||||
let expected_stdout = unwrap_or_return!(expected_result(&ts, &args)).stdout_move_str();
|
||||
ts.ucmd().args(&args).run().stdout_is(expected_stdout);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg(target_os = "linux")]
|
||||
fn test_fs_format() {
|
||||
let args = ["-f", "-c", FS_FORMAT_STR, "/dev/shm"];
|
||||
let expected_stdout = unwrap_or_return!(expected_result(util_name!(), &args)).stdout_move_str();
|
||||
new_ucmd!().args(&args).run().stdout_is(expected_stdout);
|
||||
let ts = TestScenario::new(util_name!());
|
||||
let expected_stdout = unwrap_or_return!(expected_result(&ts, &args)).stdout_move_str();
|
||||
ts.ucmd().args(&args).run().stdout_is(expected_stdout);
|
||||
}
|
||||
|
||||
#[cfg(unix)]
|
||||
|
@ -132,8 +134,9 @@ fn test_terse_normal_format() {
|
|||
// note: contains birth/creation date which increases test fragility
|
||||
// * results may vary due to built-in `stat` limitations as well as linux kernel and rust version capability variations
|
||||
let args = ["-t", "/"];
|
||||
let actual = new_ucmd!().args(&args).succeeds().stdout_move_str();
|
||||
let expect = unwrap_or_return!(expected_result(util_name!(), &args)).stdout_move_str();
|
||||
let ts = TestScenario::new(util_name!());
|
||||
let actual = ts.ucmd().args(&args).succeeds().stdout_move_str();
|
||||
let expect = unwrap_or_return!(expected_result(&ts, &args)).stdout_move_str();
|
||||
println!("actual: {:?}", actual);
|
||||
println!("expect: {:?}", expect);
|
||||
let v_actual: Vec<&str> = actual.trim().split(' ').collect();
|
||||
|
@ -161,8 +164,9 @@ fn test_terse_normal_format() {
|
|||
#[test]
|
||||
fn test_format_created_time() {
|
||||
let args = ["-c", "%w", "/bin"];
|
||||
let actual = new_ucmd!().args(&args).succeeds().stdout_move_str();
|
||||
let expect = unwrap_or_return!(expected_result(util_name!(), &args)).stdout_move_str();
|
||||
let ts = TestScenario::new(util_name!());
|
||||
let actual = ts.ucmd().args(&args).succeeds().stdout_move_str();
|
||||
let expect = unwrap_or_return!(expected_result(&ts, &args)).stdout_move_str();
|
||||
println!("actual: {:?}", actual);
|
||||
println!("expect: {:?}", expect);
|
||||
// note: using a regex instead of `split_whitespace()` in order to detect whitespace differences
|
||||
|
@ -185,8 +189,9 @@ fn test_format_created_time() {
|
|||
#[test]
|
||||
fn test_format_created_seconds() {
|
||||
let args = ["-c", "%W", "/bin"];
|
||||
let actual = new_ucmd!().args(&args).succeeds().stdout_move_str();
|
||||
let expect = unwrap_or_return!(expected_result(util_name!(), &args)).stdout_move_str();
|
||||
let ts = TestScenario::new(util_name!());
|
||||
let actual = ts.ucmd().args(&args).succeeds().stdout_move_str();
|
||||
let expect = unwrap_or_return!(expected_result(&ts, &args)).stdout_move_str();
|
||||
println!("actual: {:?}", actual);
|
||||
println!("expect: {:?}", expect);
|
||||
// note: using a regex instead of `split_whitespace()` in order to detect whitespace differences
|
||||
|
@ -209,18 +214,16 @@ fn test_format_created_seconds() {
|
|||
#[test]
|
||||
fn test_normal_format() {
|
||||
let args = ["-c", NORMAL_FORMAT_STR, "/bin"];
|
||||
let expected_stdout = unwrap_or_return!(expected_result(util_name!(), &args)).stdout_move_str();
|
||||
new_ucmd!()
|
||||
.args(&args)
|
||||
.succeeds()
|
||||
.stdout_is(expected_stdout);
|
||||
let ts = TestScenario::new(util_name!());
|
||||
let expected_stdout = unwrap_or_return!(expected_result(&ts, &args)).stdout_move_str();
|
||||
ts.ucmd().args(&args).succeeds().stdout_is(expected_stdout);
|
||||
}
|
||||
|
||||
#[cfg(unix)]
|
||||
#[test]
|
||||
fn test_symlinks() {
|
||||
let scene = TestScenario::new(util_name!());
|
||||
let at = &scene.fixtures;
|
||||
let ts = TestScenario::new(util_name!());
|
||||
let at = &ts.fixtures;
|
||||
|
||||
let mut tested: bool = false;
|
||||
// arbitrarily chosen symlinks with hope that the CI environment provides at least one of them
|
||||
|
@ -234,22 +237,12 @@ fn test_symlinks() {
|
|||
if at.file_exists(file) && at.is_symlink(file) {
|
||||
tested = true;
|
||||
let args = ["-c", NORMAL_FORMAT_STR, file];
|
||||
let expected_stdout =
|
||||
unwrap_or_return!(expected_result(util_name!(), &args)).stdout_move_str();
|
||||
scene
|
||||
.ucmd()
|
||||
.args(&args)
|
||||
.succeeds()
|
||||
.stdout_is(expected_stdout);
|
||||
let expected_stdout = unwrap_or_return!(expected_result(&ts, &args)).stdout_move_str();
|
||||
ts.ucmd().args(&args).succeeds().stdout_is(expected_stdout);
|
||||
// -L, --dereference follow links
|
||||
let args = ["-L", "-c", NORMAL_FORMAT_STR, file];
|
||||
let expected_stdout =
|
||||
unwrap_or_return!(expected_result(util_name!(), &args)).stdout_move_str();
|
||||
scene
|
||||
.ucmd()
|
||||
.args(&args)
|
||||
.succeeds()
|
||||
.stdout_is(expected_stdout);
|
||||
let expected_stdout = unwrap_or_return!(expected_result(&ts, &args)).stdout_move_str();
|
||||
ts.ucmd().args(&args).succeeds().stdout_is(expected_stdout);
|
||||
}
|
||||
}
|
||||
if !tested {
|
||||
|
@ -275,11 +268,9 @@ fn test_char() {
|
|||
#[cfg(any(target_vendor = "apple"))]
|
||||
"/dev/ptmx",
|
||||
];
|
||||
let expected_stdout = unwrap_or_return!(expected_result(util_name!(), &args)).stdout_move_str();
|
||||
new_ucmd!()
|
||||
.args(&args)
|
||||
.succeeds()
|
||||
.stdout_is(expected_stdout);
|
||||
let ts = TestScenario::new(util_name!());
|
||||
let expected_stdout = unwrap_or_return!(expected_result(&ts, &args)).stdout_move_str();
|
||||
ts.ucmd().args(&args).succeeds().stdout_is(expected_stdout);
|
||||
}
|
||||
|
||||
#[cfg(unix)]
|
||||
|
@ -294,11 +285,9 @@ fn test_multi_files() {
|
|||
"/etc/fstab",
|
||||
"/var",
|
||||
];
|
||||
let expected_stdout = unwrap_or_return!(expected_result(util_name!(), &args)).stdout_move_str();
|
||||
new_ucmd!()
|
||||
.args(&args)
|
||||
.succeeds()
|
||||
.stdout_is(expected_stdout);
|
||||
let ts = TestScenario::new(util_name!());
|
||||
let expected_stdout = unwrap_or_return!(expected_result(&ts, &args)).stdout_move_str();
|
||||
ts.ucmd().args(&args).succeeds().stdout_is(expected_stdout);
|
||||
}
|
||||
|
||||
#[cfg(unix)]
|
||||
|
@ -308,9 +297,7 @@ fn test_printf() {
|
|||
"--printf=123%-# 15q\\r\\\"\\\\\\a\\b\\e\\f\\v%+020.23m\\x12\\167\\132\\112\\n",
|
||||
"/",
|
||||
];
|
||||
let expected_stdout = unwrap_or_return!(expected_result(util_name!(), &args)).stdout_move_str();
|
||||
new_ucmd!()
|
||||
.args(&args)
|
||||
.succeeds()
|
||||
.stdout_is(expected_stdout);
|
||||
let ts = TestScenario::new(util_name!());
|
||||
let expected_stdout = unwrap_or_return!(expected_result(&ts, &args)).stdout_move_str();
|
||||
ts.ucmd().args(&args).succeeds().stdout_is(expected_stdout);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue