(tmp_dir, scm, dvc, exp_stage, git_upstream, use_url)
| 120 | |
| 121 | @pytest.mark.parametrize("use_url", [True, False]) |
| 122 | def test_remove_remote(tmp_dir, scm, dvc, exp_stage, git_upstream, use_url): |
| 123 | remote = git_upstream.url if use_url else git_upstream.remote |
| 124 | |
| 125 | ref_info_list = [] |
| 126 | exp_list = [] |
| 127 | for i in range(3): |
| 128 | results = dvc.experiments.run(exp_stage.addressing, params=[f"foo={i}"]) |
| 129 | exp = first(results) |
| 130 | exp_list.append(exp) |
| 131 | ref_info = first(exp_refs_by_rev(scm, exp)) |
| 132 | ref_info_list.append(ref_info) |
| 133 | dvc.experiments.push(remote, [ref_info.name]) |
| 134 | assert git_upstream.tmp_dir.scm.get_ref(str(ref_info)) == exp |
| 135 | |
| 136 | dvc.experiments.remove( |
| 137 | git_remote=remote, |
| 138 | exp_names=[str(ref_info_list[0]), ref_info_list[1].name], |
| 139 | ) |
| 140 | |
| 141 | assert git_upstream.tmp_dir.scm.get_ref(str(ref_info_list[0])) is None |
| 142 | assert git_upstream.tmp_dir.scm.get_ref(str(ref_info_list[1])) is None |
| 143 | assert git_upstream.tmp_dir.scm.get_ref(str(ref_info_list[2])) == exp_list[2] |
| 144 | |
| 145 | with pytest.raises( |
| 146 | UnresolvedExpNamesError, match=f"Experiment 'foo' does not exist in '{remote}'" |
| 147 | ): |
| 148 | dvc.experiments.remove(git_remote=remote, exp_names=["foo"]) |
| 149 | |
| 150 | |
| 151 | def test_remove_experiments_by_rev(tmp_dir, scm, dvc, exp_stage): |
nothing calls this directly
no test coverage detected