dealii: fix concretization of xsdk package (#10288)

* dealii: fix concretization of xsdk package

* tests: add concretization tests for deal.II and xSDK, which are often broken due to limitations in the concretizer

* use pytest.mark.parametrize
This commit is contained in:
Denis Davydov 2019-01-11 19:07:28 +01:00 committed by Todd Gamblin
parent 9102cd5790
commit f4bda74b30
2 changed files with 13 additions and 2 deletions

View file

@ -224,6 +224,17 @@ def concretize_multi_provider(self):
s.concretize()
assert s['mpi'].version == ver('1.10.3')
@pytest.mark.parametrize("spec,version", [
('dealii', 'develop'),
('xsdk', '0.4.0'),
])
def concretize_difficult_packages(self, a, b):
"""Test a couple of large packages that are often broken due
to current limitations in the concretizer"""
s = Spec(a + '@' + b)
s.concretize()
assert s[a].version == ver(b)
def test_concretize_two_virtuals(self):
"""Test a package with multiple virtual dependencies."""

View file

@ -127,8 +127,8 @@ class Dealii(CMakePackage, CudaPackage):
depends_on('cmake@:3.9.99', when='@:8.99')
# FIXME: concretizer bug. The two lines mimic what comes from PETSc
# but we should not need it
depends_on('metis@5:+int64+real64', when='+metis+int64')
depends_on('metis@5:~int64+real64', when='+metis~int64')
depends_on('metis@5:+int64', when='+metis+int64')
depends_on('metis@5:~int64', when='+metis~int64')
depends_on('muparser', when='+muparser')
depends_on('nanoflann', when='@9.0:+nanoflann')
depends_on('netcdf+mpi', when='+netcdf+mpi')