MCPcopy
hub / github.com/treeverse/dvc / test_new_simple

Function test_new_simple

tests/func/experiments/test_experiments.py:35–58  ·  view source on GitHub ↗
(tmp_dir, scm, dvc, exp_stage, mocker, name, workspace)

Source from the content-addressed store, hash-verified

33
34@pytest.mark.parametrize("name", [None, "foo"])
35def test_new_simple(tmp_dir, scm, dvc, exp_stage, mocker, name, workspace):
36 baseline = scm.get_rev()
37 tmp_dir.gen("params.yaml", "foo: 2")
38
39 new_mock = mocker.spy(dvc.experiments, "new")
40 results = dvc.experiments.run(
41 exp_stage.addressing, name=name, tmp_dir=not workspace
42 )
43 exp = first(results)
44 ref_info = first(exp_refs_by_rev(scm, exp))
45 assert ref_info
46 assert ref_info.baseline_sha == baseline
47
48 new_mock.assert_called_once()
49 fs = scm.get_fs(exp)
50 with fs.open("metrics.yaml", mode="r", encoding="utf-8") as fobj:
51 assert fobj.read().strip() == "foo: 2"
52
53 if workspace:
54 assert (tmp_dir / "metrics.yaml").read_text().strip() == "foo: 2"
55
56 exp_name = name or ref_info.name
57 assert dvc.experiments.get_exact_name([exp])[exp] == exp_name
58 assert resolve_rev(scm, exp_name) == exp
59
60
61def test_experiment_exists(tmp_dir, scm, dvc, exp_stage, mocker, workspace):

Callers

nothing calls this directly

Calls 9

exp_refs_by_revFunction · 0.90
resolve_revFunction · 0.90
openMethod · 0.80
get_exact_nameMethod · 0.80
get_revMethod · 0.45
genMethod · 0.45
runMethod · 0.45
readMethod · 0.45
read_textMethod · 0.45

Tested by

no test coverage detected