forked from iterative/dvc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_diff.py
executable file
·27 lines (19 loc) · 999 Bytes
/
test_diff.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from funcy import first
def test_diff_empty(tmp_dir, scm, dvc, exp_stage):
assert dvc.experiments.diff() == {"params": {}, "metrics": {}}
def test_diff_head(tmp_dir, scm, dvc, exp_stage):
results = dvc.experiments.run(exp_stage.addressing, params=["foo=2"])
exp = first(results)
assert dvc.experiments.diff(a_rev="HEAD", b_rev=exp) == {
"params": {"params.yaml": {"foo": {"diff": 1, "old": 1, "new": 2}}},
"metrics": {"metrics.yaml": {"foo": {"diff": 1, "old": 1, "new": 2}}},
}
def test_diff_exp(tmp_dir, scm, dvc, exp_stage):
results = dvc.experiments.run(exp_stage.addressing, params=["foo=2"])
exp_a = first(results)
results = dvc.experiments.run(exp_stage.addressing, params=["foo=3"])
exp_b = first(results)
assert dvc.experiments.diff(a_rev=exp_a, b_rev=exp_b) == {
"params": {"params.yaml": {"foo": {"diff": 1, "old": 2, "new": 3}}},
"metrics": {"metrics.yaml": {"foo": {"diff": 1, "old": 2, "new": 3}}},
}