| 726 | |
| 727 | @pytest.mark.parametrize("tmp", [True, False]) |
| 728 | def test_copy_paths(tmp_dir, scm, dvc, tmp): |
| 729 | stage = dvc.stage.add(cmd="cat file && ls dir", name="foo") |
| 730 | scm.add_commit(["dvc.yaml"], message="add dvc.yaml") |
| 731 | |
| 732 | (tmp_dir / "dir").mkdir() |
| 733 | (tmp_dir / "dir" / "file").write_text("dir/file") |
| 734 | scm.ignore(tmp_dir / "dir") |
| 735 | (tmp_dir / "file").write_text("file") |
| 736 | scm.ignore(tmp_dir / "file") |
| 737 | |
| 738 | results = dvc.experiments.run( |
| 739 | stage.addressing, tmp_dir=tmp, copy_paths=["dir", "file"] |
| 740 | ) |
| 741 | exp = first(results) |
| 742 | fs = scm.get_fs(exp) |
| 743 | assert not fs.exists("dir") |
| 744 | assert not fs.exists("file") |
| 745 | |
| 746 | |
| 747 | def test_copy_paths_errors(tmp_dir, scm, dvc, mocker): |