Set default provider for every virtual package (#7784)

* Set default provider for every virtual package

* Add unit test to ensure that every virtual package has a default provider explicitly set
This commit is contained in:
Adam J. Stewart 2018-05-05 17:26:47 -05:00 committed by GitHub
parent e499a4d071
commit 5af4d4f0ac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 1 deletions

View File

@ -17,6 +17,7 @@ packages:
all:
compiler: [gcc, intel, pgi, clang, xl, nag]
providers:
D: [ldc]
awk: [gawk]
blas: [openblas]
daal: [intel-daal]
@ -26,6 +27,7 @@ packages:
golang: [gcc]
ipp: [intel-ipp]
java: [jdk]
jpeg: [libjpeg-turbo, libjpeg]
lapack: [openblas]
mkl: [intel-mkl]
mpe: [mpe2]
@ -37,4 +39,3 @@ packages:
scalapack: [netlib-scalapack]
szip: [libszip, libaec]
tbb: [intel-tbb]
jpeg: [libjpeg-turbo, libjpeg]

View File

@ -60,3 +60,13 @@ def test_all_versions_are_lowercase():
errors.append(name)
assert len(errors) == 0
def test_all_virtual_packages_have_default_providers():
"""All virtual packages must have a default provider explicitly set."""
defaults = spack.config.get_config('packages', scope='defaults')
default_providers = defaults['all']['providers']
providers = spack.repo.provider_index.providers
for provider in providers:
assert provider in default_providers