mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-02 07:18:25 +01:00
@@ -1,114 +0,0 @@
|
||||
import pytest
|
||||
from funcy import first
|
||||
|
||||
|
||||
@pytest.mark.parametrize("queued, expected", [(True, 0), (False, 1)])
|
||||
def test_workspace(tmp_dir, scm, dvc, queued, expected, copy_script):
|
||||
tmp_dir.gen("params.yaml", "foo: 1")
|
||||
|
||||
stage = dvc.run(
|
||||
cmd="python copy.py params.yaml metrics.yaml",
|
||||
metrics_no_cache=["metrics.yaml"],
|
||||
params=["foo"],
|
||||
name="foo",
|
||||
)
|
||||
scm.add(["dvc.yaml", "dvc.lock", "copy.py", "params.yaml", "metrics.yaml"])
|
||||
scm.commit("v1")
|
||||
|
||||
dvc.experiments.run(stage.addressing, params=["foo=2"])
|
||||
dvc.experiments.run(stage.addressing, params=["foo=3"], queue=True)
|
||||
|
||||
removed = dvc.experiments.gc(workspace=True, queued=queued)
|
||||
assert removed == expected
|
||||
|
||||
|
||||
@pytest.mark.parametrize("queued, expected", [(True, 0), (False, 2)])
|
||||
def test_all_commits(tmp_dir, scm, dvc, queued, expected, copy_script):
|
||||
tmp_dir.gen("params.yaml", "foo: 1")
|
||||
|
||||
stage = dvc.run(
|
||||
cmd="python copy.py params.yaml metrics.yaml",
|
||||
metrics_no_cache=["metrics.yaml"],
|
||||
params=["foo"],
|
||||
name="foo",
|
||||
)
|
||||
scm.add(["dvc.yaml", "dvc.lock", "copy.py", "params.yaml", "metrics.yaml"])
|
||||
scm.commit("v1")
|
||||
|
||||
results = dvc.experiments.run(stage.addressing, params=["foo=2"])
|
||||
exp_rev = first(results)
|
||||
dvc.experiments.run(stage.addressing, params=["foo=3"], queue=True)
|
||||
|
||||
dvc.experiments.apply(exp_rev)
|
||||
scm.add(["dvc.yaml", "dvc.lock", "copy.py", "params.yaml", "metrics.yaml"])
|
||||
scm.commit("v2")
|
||||
|
||||
dvc.experiments.run(stage.addressing, params=["foo=4"])
|
||||
dvc.experiments.run(stage.addressing, params=["foo=5"], queue=True)
|
||||
|
||||
removed = dvc.experiments.gc(all_commits=True, queued=queued)
|
||||
assert removed == expected
|
||||
|
||||
|
||||
@pytest.mark.parametrize("queued, expected", [(True, 2), (False, 3)])
|
||||
def test_all_branches(tmp_dir, scm, dvc, queued, expected, copy_script):
|
||||
tmp_dir.gen("params.yaml", "foo: 1")
|
||||
|
||||
stage = dvc.run(
|
||||
cmd="python copy.py params.yaml metrics.yaml",
|
||||
metrics_no_cache=["metrics.yaml"],
|
||||
params=["foo"],
|
||||
name="foo",
|
||||
)
|
||||
scm.add(["dvc.yaml", "dvc.lock", "copy.py", "params.yaml", "metrics.yaml"])
|
||||
scm.commit("v1")
|
||||
|
||||
results = dvc.experiments.run(stage.addressing, params=["foo=2"])
|
||||
exp_rev = first(results)
|
||||
dvc.experiments.run(stage.addressing, params=["foo=3"], queue=True)
|
||||
|
||||
dvc.experiments.apply(exp_rev)
|
||||
scm.add(["dvc.yaml", "dvc.lock", "copy.py", "params.yaml", "metrics.yaml"])
|
||||
scm.commit("v2")
|
||||
|
||||
scm.branch("branch")
|
||||
|
||||
results = dvc.experiments.run(stage.addressing, params=["foo=4"])
|
||||
dvc.experiments.run(stage.addressing, params=["foo=5"], queue=True)
|
||||
exp_rev = first(results)
|
||||
|
||||
dvc.experiments.apply(exp_rev)
|
||||
scm.add(["dvc.yaml", "dvc.lock", "copy.py", "params.yaml", "metrics.yaml"])
|
||||
scm.commit("v3")
|
||||
|
||||
removed = dvc.experiments.gc(all_branches=True, queued=queued)
|
||||
assert removed == expected
|
||||
|
||||
|
||||
@pytest.mark.parametrize("queued, expected", [(True, 2), (False, 3)])
|
||||
def test_all_tags(tmp_dir, scm, dvc, queued, expected, copy_script):
|
||||
tmp_dir.gen("params.yaml", "foo: 1")
|
||||
|
||||
stage = dvc.run(
|
||||
cmd="python copy.py params.yaml metrics.yaml",
|
||||
metrics_no_cache=["metrics.yaml"],
|
||||
params=["foo"],
|
||||
name="foo",
|
||||
)
|
||||
scm.add(["dvc.yaml", "dvc.lock", "copy.py", "params.yaml", "metrics.yaml"])
|
||||
scm.commit("v1")
|
||||
|
||||
results = dvc.experiments.run(stage.addressing, params=["foo=2"])
|
||||
exp_rev = first(results)
|
||||
dvc.experiments.run(stage.addressing, params=["foo=3"], queue=True)
|
||||
|
||||
dvc.experiments.apply(exp_rev)
|
||||
scm.add(["dvc.yaml", "dvc.lock", "copy.py", "params.yaml", "metrics.yaml"])
|
||||
scm.commit("v2")
|
||||
scm.tag("tag-v2")
|
||||
|
||||
dvc.experiments.run(stage.addressing, params=["foo=4"])
|
||||
dvc.experiments.run(stage.addressing, params=["foo=5"], queue=True)
|
||||
|
||||
removed = dvc.experiments.gc(all_tags=True, queued=queued)
|
||||
assert removed == expected
|
||||
@@ -5,7 +5,6 @@ from dvc.commands.experiments.apply import CmdExperimentsApply
|
||||
from dvc.commands.experiments.branch import CmdExperimentsBranch
|
||||
from dvc.commands.experiments.clean import CmdExperimentsClean
|
||||
from dvc.commands.experiments.diff import CmdExperimentsDiff
|
||||
from dvc.commands.experiments.gc import CmdExperimentsGC
|
||||
from dvc.commands.experiments.ls import CmdExperimentsList
|
||||
from dvc.commands.experiments.pull import CmdExperimentsPull
|
||||
from dvc.commands.experiments.push import CmdExperimentsPush
|
||||
@@ -141,44 +140,6 @@ def test_experiments_run(dvc, scm, mocker):
|
||||
cmd.repo.experiments.run.assert_called_with(**default_arguments)
|
||||
|
||||
|
||||
def test_experiments_gc(dvc, scm, mocker):
|
||||
cli_args = parse_args(
|
||||
[
|
||||
"exp",
|
||||
"gc",
|
||||
"--workspace",
|
||||
"--all-tags",
|
||||
"--all-branches",
|
||||
"--all-commits",
|
||||
"--queued",
|
||||
"--date",
|
||||
"2022-07-04",
|
||||
"--force",
|
||||
]
|
||||
)
|
||||
assert cli_args.func == CmdExperimentsGC
|
||||
|
||||
cmd = cli_args.func(cli_args)
|
||||
m = mocker.patch("dvc.repo.experiments.gc.gc", return_value={})
|
||||
|
||||
assert cmd.run() == 0
|
||||
|
||||
m.assert_called_once_with(
|
||||
cmd.repo,
|
||||
workspace=True,
|
||||
all_tags=True,
|
||||
all_branches=True,
|
||||
all_commits=True,
|
||||
commit_date="2022-07-04",
|
||||
queued=True,
|
||||
)
|
||||
|
||||
cli_args = parse_args(["exp", "gc"])
|
||||
cmd = cli_args.func(cli_args)
|
||||
with pytest.raises(InvalidArgumentError):
|
||||
cmd.run()
|
||||
|
||||
|
||||
def test_experiments_branch(dvc, scm, mocker):
|
||||
m = mocker.patch("dvc.repo.experiments.branch.branch", return_value={})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user