From 0d8549e28259ad6e60653bf28a689cc39dc60230 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Mon, 28 Oct 2024 20:44:36 +0100 Subject: [PATCH] Add a unit-test for compiler self-dependencies --- lib/spack/spack/test/concretization/core.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/spack/spack/test/concretization/core.py b/lib/spack/spack/test/concretization/core.py index b61f48471ba..69155802dea 100644 --- a/lib/spack/spack/test/concretization/core.py +++ b/lib/spack/spack/test/concretization/core.py @@ -3191,3 +3191,14 @@ def test_duplicate_compiler_in_externals(mutable_config, mock_packages): mutable_config.set("packages", packages_yaml["packages"]) s = spack.concretize.concretize_one("libelf %gcc@9.4") assert s["c"].satisfies("gcc@9.4.0") + + +def test_compiler_can_depend_on_themselves_to_build(config, mock_packages): + """Tests that a compiler can depend on itself to bootstrap.""" + s = Spec("gcc@14 %gcc@9.4.0").concretized() + print(s.tree()) + assert s.satisfies("gcc@14") + assert s.satisfies("^gcc-runtime@9.4.0") + + gcc_used_to_build = s.dependencies(name="gcc", virtuals=("c",)) + assert len(gcc_used_to_build) == 1 and gcc_used_to_build[0].satisfies("gcc@9.4.0")