info: skip missing subprojects

This commit is contained in:
David de la Iglesia Castro
2022-08-30 20:15:41 +03:00
committed by Ruslan Kuprieiev
parent a8415b01d0
commit daee52e176
2 changed files with 28 additions and 3 deletions
+5 -3
View File
@@ -100,9 +100,11 @@ def _get_linktype_support_info(repo):
def _get_subprojects():
subprojects = []
for subproject in SUBPROJECTS:
subprojects.append(
f"{subproject} = " f"{importlib_metadata.version(subproject)}"
)
try:
version = importlib_metadata.version(subproject)
subprojects.append(f"{subproject} = {version}")
except ImportError:
pass
return "\n\t" + "\n\t".join(subprojects)
+23
View File
@@ -23,3 +23,26 @@ def test_(tmp_dir, dvc, scm, capsys):
assert re.search(r"Caches: local", out)
assert re.search(r"Remotes: None", out)
assert "Repo: dvc, git" in out
def test_import_error(tmp_dir, dvc, scm, capsys, monkeypatch):
import importlib.metadata as importlib_metadata
original = importlib_metadata.version
def _import_error(name):
if name == "dvclive":
raise ImportError
return original(name)
monkeypatch.setattr(importlib_metadata, "version", _import_error)
assert main(["version"]) == 0
out, _ = capsys.readouterr()
for subproject in SUBPROJECTS:
match = re.search(rf"{subproject} = {DVC_VERSION_REGEX}", out)
if subproject != "dvclive":
assert match
else:
assert match is None