package_sanity: add a test to enforce no nonexisting dependencies in builtin
We shouldn't allow packages to have missing dependencies in the mainline. - [x] Add a test to enforce this.
This commit is contained in:
parent
531f370e0d
commit
af249d3cf6
@ -10,6 +10,7 @@
|
|||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
import spack.fetch_strategy
|
import spack.fetch_strategy
|
||||||
|
import spack.package
|
||||||
import spack.paths
|
import spack.paths
|
||||||
import spack.repo
|
import spack.repo
|
||||||
import spack.util.executable as executable
|
import spack.util.executable as executable
|
||||||
@ -187,3 +188,18 @@ def test_prs_update_old_api():
|
|||||||
assert not failing, msg.format(
|
assert not failing, msg.format(
|
||||||
len(failing), ','.join(failing)
|
len(failing), ','.join(failing)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def test_all_dependencies_exist():
|
||||||
|
"""Make sure no packages have nonexisting dependencies."""
|
||||||
|
missing = {}
|
||||||
|
pkgs = [pkg for pkg in spack.repo.path.all_package_names()]
|
||||||
|
spack.package.possible_dependencies(
|
||||||
|
*pkgs, transitive=True, missing=missing)
|
||||||
|
|
||||||
|
lines = [
|
||||||
|
"%s: [%s]" % (name, ", ".join(deps)) for name, deps in missing.items()
|
||||||
|
]
|
||||||
|
assert not missing, "These packages have missing dependencies:\n" + (
|
||||||
|
"\n".join(lines)
|
||||||
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user