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!()