metric: show: xpath should override xpath set after run

This commit is contained in:
pawel
2019-07-25 10:07:02 +02:00
committed by pared
parent 7fea91387e
commit 7c52f65736
2 changed files with 14 additions and 1 deletions
+1 -1
View File
@@ -190,7 +190,7 @@ def _collect_metrics(repo, path, recursive, typ, xpath, branch):
if not typ and isinstance(o.metric, dict):
t = o.metric.get(o.PARAM_METRIC_TYPE, typ)
x = o.metric.get(o.PARAM_METRIC_XPATH, xpath)
x = xpath or o.metric.get(o.PARAM_METRIC_XPATH)
else:
t = typ
x = xpath
+13
View File
@@ -831,3 +831,16 @@ class TestShouldDisplayMetricsEvenIfMetricIsMissing(object):
in caplog.text
)
assert 0 == ret
def test_show_xpath_should_override_stage_xpath(dvc_repo):
metric_file = "metric"
metric = {"m1": 0.1, "m2": 0.2}
with open(metric_file, "w") as fobj:
json.dump(metric, fobj)
dvc_repo.run(cmd="", overwrite=True, metrics=[metric_file])
dvc_repo.metrics.modify(metric_file, typ="json", xpath="m2")
result = dvc_repo.metrics.show(xpath="m1")
assert result == {"": {metric_file: [0.1]}}