From f696f02a46f711600267ef171f94bd93cdd73a99 Mon Sep 17 00:00:00 2001 From: Greg Becker Date: Tue, 1 Nov 2022 15:25:55 -0700 Subject: Unit tests: make unit tests work for aarch64 machines (#33625) Currently, many tests hardcode to older versions of gcc for comparisons of concretization among compiler versions. Those versions are too old to concretize for `aarch64`-family targets, which leads to failing tests on `aarch64`. This PR fixes those tests by updating the compiler versions used for testing. Currently, many tests hardcode the expected architecture result in concretization to the `x86_64` family of architectures. This PR generalizes the tests that can be generalized, to cover multiple architecture families. For those that test specific relationships among `x86_64`-family targets, it ensures that concretization uses the `x86_64`-family targets in those cases. Currently, many tests rely on the fact that `AutotoolsPackage` imposes no dependencies on the inheriting package. That is not true on `aarch64`-family architectures. This PR ensures that the fact `AutotoolsPackage` on `aarch64` pulls in a dependency on `gnuconfig` is ignored when testing for the appropriate relationships among dependencies Additionally, 5 tests currently prompt the user for input when `gpg` is available in the user's path. This PR fixes that issue. And 7 tests fail currently when the user has a yubikey available. This PR fixes the incorrect gpg argument causing those issues. --- var/spack/repos/builtin.mock/packages/bowtie/package.py | 2 ++ .../repos/builtin.mock/packages/impossible-concretization/package.py | 1 + var/spack/repos/builtin.mock/packages/openblas/package.py | 4 ++++ 3 files changed, 7 insertions(+) (limited to 'var') diff --git a/var/spack/repos/builtin.mock/packages/bowtie/package.py b/var/spack/repos/builtin.mock/packages/bowtie/package.py index 24d7312b74..9bef211172 100644 --- a/var/spack/repos/builtin.mock/packages/bowtie/package.py +++ b/var/spack/repos/builtin.mock/packages/bowtie/package.py @@ -11,8 +11,10 @@ class Bowtie(Package): homepage = "http://www.example.org" url = "http://bowtie-1.2.2.tar.bz2" + version("1.4.0", "1c837ecd990bb022d07e7aab32b09847") version("1.3.0", "1c837ecd990bb022d07e7aab32b09847") version("1.2.2", "1c837ecd990bb022d07e7aab32b09847") version("1.2.0", "1c837ecd990bb022d07e7aab32b09847") conflicts("%gcc@:4.5.0", when="@1.2.2") + conflicts("%gcc@:10.2.1", when="@:1.3.0") diff --git a/var/spack/repos/builtin.mock/packages/impossible-concretization/package.py b/var/spack/repos/builtin.mock/packages/impossible-concretization/package.py index c0f2ce8641..b47e97f362 100644 --- a/var/spack/repos/builtin.mock/packages/impossible-concretization/package.py +++ b/var/spack/repos/builtin.mock/packages/impossible-concretization/package.py @@ -16,3 +16,4 @@ class ImpossibleConcretization(Package): version(1.0, "0123456789abcdef0123456789abcdef") conflicts("target=x86_64:") + conflicts("target=aarch64:") diff --git a/var/spack/repos/builtin.mock/packages/openblas/package.py b/var/spack/repos/builtin.mock/packages/openblas/package.py index 5b8637aca2..1e948da8f2 100644 --- a/var/spack/repos/builtin.mock/packages/openblas/package.py +++ b/var/spack/repos/builtin.mock/packages/openblas/package.py @@ -12,6 +12,7 @@ class Openblas(Package): homepage = "http://www.openblas.net" url = "http://github.com/xianyi/OpenBLAS/archive/v0.2.15.tar.gz" + version("0.2.16", "b1190f3d3471685f17cfd1ec1d252ac9") version("0.2.15", "b1190f3d3471685f17cfd1ec1d252ac9") version("0.2.14", "b1190f3d3471685f17cfd1ec1d252ac9") version("0.2.13", "b1190f3d3471685f17cfd1ec1d252ac9") @@ -19,4 +20,7 @@ class Openblas(Package): # See #20019 for this conflict conflicts("%gcc@:4.4", when="@0.2.14:") + # To ensure test works with newer gcc versions + conflicts("%gcc@:10.1", when="@0.2.16:") + provides("blas") -- cgit v1.2.3-70-g09d2