From e4218595de4f3a726bc45059a9e5219f416a8c84 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Tue, 8 Nov 2022 10:56:24 +0100 Subject: Rework unit test to avoid tripping into concretization slowdown (#33749) --- lib/spack/spack/test/concretize_preferences.py | 32 ++++++++------------------ 1 file changed, 9 insertions(+), 23 deletions(-) (limited to 'lib') diff --git a/lib/spack/spack/test/concretize_preferences.py b/lib/spack/spack/test/concretize_preferences.py index 56bda697fc..b0ae008a72 100644 --- a/lib/spack/spack/test/concretize_preferences.py +++ b/lib/spack/spack/test/concretize_preferences.py @@ -8,8 +8,6 @@ import stat import pytest -import archspec - import spack.config import spack.package_prefs import spack.repo @@ -105,28 +103,16 @@ class TestConcretizePreferences(object): update_packages("multivalue-variant", "variants", "foo=bar") assert_variant_values("multivalue-variant foo=*", foo=("bar",)) - def test_preferred_compilers(self): + @pytest.mark.parametrize( + "compiler_str,spec_str", + [("gcc@4.5.0", "mpileaks"), ("clang@12.0.0", "mpileaks"), ("gcc@4.5.0", "openmpi")], + ) + def test_preferred_compilers(self, compiler_str, spec_str): """Test preferred compilers are applied correctly""" - if spack.config.get("config:concretizer") == "original": - pytest.skip("Fixing the parser broke this test for the original concretizer.") - - # Need to make sure the test uses an available compiler - arch = spack.spec.ArchSpec(("test", "redhat6", archspec.cpu.host().name)) - - compiler_list = spack.compilers.compiler_specs_for_arch(arch) - assert compiler_list - - # Try the first available compiler - compiler = str(compiler_list[0]) - update_packages("mpileaks", "compiler", [compiler]) - spec = concretize("mpileaks") - assert spec.compiler == spack.spec.CompilerSpec(compiler) - - # Try the last available compiler - compiler = str(compiler_list[-1]) - update_packages("mpileaks", "compiler", [compiler]) - spec = concretize("mpileaks os=redhat6") - assert spec.compiler == spack.spec.CompilerSpec(compiler) + spec = spack.spec.Spec(spec_str) + update_packages(spec.name, "compiler", [compiler_str]) + spec.concretize() + assert spec.compiler == spack.spec.CompilerSpec(compiler_str) def test_preferred_target(self, mutable_mock_repo): """Test preferred targets are applied correctly""" -- cgit v1.2.3-60-g2f50