diff options
author | Massimiliano Culpo <massimiliano.culpo@gmail.com> | 2020-09-19 07:54:26 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-19 07:54:26 +0200 |
commit | fcb4dfc3077d2cb96c0fe84b6615581640637e3f (patch) | |
tree | be392d03f8323959b29a10f4b6c9d5a0e4e1c365 /lib | |
parent | fff2f34de87d6f1a8018f7fe842846a5637850ca (diff) | |
download | spack-fcb4dfc3077d2cb96c0fe84b6615581640637e3f.tar.gz spack-fcb4dfc3077d2cb96c0fe84b6615581640637e3f.tar.bz2 spack-fcb4dfc3077d2cb96c0fe84b6615581640637e3f.tar.xz spack-fcb4dfc3077d2cb96c0fe84b6615581640637e3f.zip |
Ensure variant defaults are parsable from CLI. (#18661)
- Add a unit test to check if there are unparsable defaults
- Fix 'rust' and 'nsimd' variants
Diffstat (limited to 'lib')
-rw-r--r-- | lib/spack/spack/test/package_sanity.py | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/lib/spack/spack/test/package_sanity.py b/lib/spack/spack/test/package_sanity.py index 25494e1ab2..2496bc99b7 100644 --- a/lib/spack/spack/test/package_sanity.py +++ b/lib/spack/spack/test/package_sanity.py @@ -136,7 +136,7 @@ def test_all_packages_use_sha256_checksums(): if bad_digest: errors.append( "All packages must use sha256 checksums." - "Resource in %s uses %s." % (name, v, bad_digest) + "Resource in %s uses %s." % (name, bad_digest) ) assert [] == errors @@ -203,3 +203,19 @@ def test_all_dependencies_exist(): assert not missing, "These packages have missing dependencies:\n" + ( "\n".join(lines) ) + + +def test_variant_defaults_are_parsable_from_cli(): + """Ensures that variant defaults are parsable from cli.""" + failing = [] + for pkg in spack.repo.path.all_packages(): + for variant_name, variant in pkg.variants.items(): + default_is_parsable = ( + # Permitting a default that is an instance on 'int' permits + # to have foo=false or foo=0. Other falsish values are + # not allowed, since they can't be parsed from cli ('foo=') + isinstance(variant.default, int) or variant.default + ) + if not default_is_parsable: + failing.append((pkg.name, variant_name)) + assert not failing |