From 401c183de9a4c3086ad8209a1ad72a7fada90db9 Mon Sep 17 00:00:00 2001 From: Gregory Becker Date: Fri, 7 Feb 2025 15:00:33 -0800 Subject: [PATCH] expand on test and add comments on expected behaviors --- lib/spack/spack/test/concretization/core.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/spack/spack/test/concretization/core.py b/lib/spack/spack/test/concretization/core.py index d33152e8ba6..d6f06dbbb9d 100644 --- a/lib/spack/spack/test/concretization/core.py +++ b/lib/spack/spack/test/concretization/core.py @@ -1462,17 +1462,27 @@ def test_no_reuse_when_variant_condition_does_not_hold(self, mutable_database, m def test_reuse_by_namespace(self, mutable_database, mock_packages): spack.config.set("concretizer:reuse", True) + # Set spack to prefer an older version when doing new builds, but prioritize reuse higher spack.config.set("packages:libelf", {"version": ["0.8.10"]}) + # Expected behavior is to reuse the libelf@0.8.13 from mutable database + # despite configured preference for older version reuse = spack.concretize.concretize_one("libelf") assert reuse.installed - assert reuse.satisfies("@0.8.13") # version installed in mutable_database + assert reuse.satisfies("@0.8.13") + # Reuse is turned off, so preference will be respected spack.config.set("concretizer:reuse", {"namespaces": []}) noreuse = spack.concretize.concretize_one("libelf") assert not noreuse.installed assert noreuse.satisfies("@0.8.10") + # Expected behavior same as first concretization + spack.config.set("concretizer:reuse", {"namespaces": ["builtin.mock"]}) + noreuse = spack.concretize.concretize_one("libelf") + assert noreuse.installed + assert noreuse.satisfies("@0.8.13") + def test_reuse_with_flags(self, mutable_database, mutable_config): spack.config.set("concretizer:reuse", True) spec = spack.concretize.concretize_one("pkg-a cflags=-g cxxflags=-g")