diff options
-rw-r--r-- | lib/spack/spack/test/package_sanity.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/spack/spack/test/package_sanity.py b/lib/spack/spack/test/package_sanity.py index e7ac1563eb..1764d8ac25 100644 --- a/lib/spack/spack/test/package_sanity.py +++ b/lib/spack/spack/test/package_sanity.py @@ -10,6 +10,7 @@ import re import pytest import spack.fetch_strategy +import spack.package import spack.paths import spack.repo import spack.util.executable as executable @@ -187,3 +188,18 @@ def test_prs_update_old_api(): assert not failing, msg.format( 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) + ) |