From 5532891f206d8674ce6957605632dd7c92777186 Mon Sep 17 00:00:00 2001 From: M Bussonnier Date: Sun, 16 Mar 2025 15:31:06 +0100 Subject: [PATCH] cp: create failing test for #7455 (#7457) * Create failing test for #7455 Also update existing test to ensure output is empty. * add ignore until relevant issue is fixed --------- Co-authored-by: M Bussonnier --- tests/by-util/test_cp.rs | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/tests/by-util/test_cp.rs b/tests/by-util/test_cp.rs index 646d6e535..17a0372bf 100644 --- a/tests/by-util/test_cp.rs +++ b/tests/by-util/test_cp.rs @@ -349,13 +349,40 @@ fn test_cp_arg_no_target_directory_with_recursive() { at.touch("dir/a"); at.touch("dir/b"); - ucmd.arg("-rT").arg("dir").arg("dir2").succeeds(); + ucmd.arg("-rT") + .arg("dir") + .arg("dir2") + .succeeds() + .no_output(); assert!(at.plus("dir2").join("a").exists()); assert!(at.plus("dir2").join("b").exists()); assert!(!at.plus("dir2").join("dir").exists()); } +#[test] +#[ignore = "disabled until https://github.com/uutils/coreutils/issues/7455 is fixed"] +fn test_cp_arg_no_target_directory_with_recursive_target_does_not_exists() { + let (at, mut ucmd) = at_and_ucmd!(); + + at.mkdir("dir"); + at.touch("dir/a"); + at.touch("dir/b"); + + let target = "create_me"; + assert!(!at.plus(target).exists()); + + ucmd.arg("-rT") + .arg("dir") + .arg(target) + .succeeds() + .no_output(); + + assert!(at.plus(target).join("a").exists()); + assert!(at.plus(target).join("b").exists()); + assert!(!at.plus(target).join("dir").exists()); +} + #[test] fn test_cp_target_directory_is_file() { new_ucmd!()