Fix satisfaction checks for excluding variants from matrices (#16893)

Because of the way abstract variants are implemented, the following 
spec matrix does not work as intended:
```
matrix:
- [foo]
- [bar=a, bar=b]
exclude:
- bar=a
```
because abstract variants always satisfy any variant of the same
name, regardless of values.

This PR converts abstract variants to whatever their appropriate 
type is before running satisfaction checks for the excludes clause 
in a matrix.

fixes #16841
This commit is contained in:
Greg Becker
2020-06-02 02:02:28 -07:00
committed by GitHub
parent 0875c6a5d0
commit 2795414a80
8 changed files with 80 additions and 50 deletions

View File

@@ -14,4 +14,4 @@ class SinglevalueVariantDependent(Package):
version('1.0', '0123456789abcdef0123456789abcdef')
depends_on('multivalue_variant fee=baz')
depends_on('multivalue-variant fee=baz')