Update tests
This commit is contained in:
parent
ca5b085355
commit
36fb2354e1
@ -2049,8 +2049,7 @@ def define_ad_hoc_versions_from_specs(
|
||||
version = s.versions.concrete
|
||||
|
||||
if version is None or (
|
||||
not isinstance(version, vn.GitVersion)
|
||||
and any((v == version) for v in self.possible_versions[s.name])
|
||||
any((v == version) for v in self.possible_versions[s.name])
|
||||
):
|
||||
continue
|
||||
|
||||
|
@ -2920,24 +2920,33 @@ def test_spec_filters(specs, include, exclude, expected):
|
||||
def test_git_ref_version_can_be_reused(
|
||||
install_mockery_mutable_config, do_not_check_runtimes_on_reuse
|
||||
):
|
||||
first_spec = spack.spec.Spec("git-ref-package@git.2.1.5=2.1.5").concretized()
|
||||
first_spec = spack.spec.Spec("git-ref-package@git.2.1.5=2.1.5~opt").concretized()
|
||||
first_spec.package.do_install(fake=True, explicit=True)
|
||||
|
||||
with spack.config.override("concretizer:reuse", True):
|
||||
second_spec = spack.spec.Spec("git-ref-package@git.2.1.5=2.1.5~opt").concretized()
|
||||
# reproducer of the issue is that spack will solve when there is a change to the base spec
|
||||
second_spec = spack.spec.Spec("git-ref-package@git.2.1.5=2.1.5+opt").concretized()
|
||||
assert second_spec.dag_hash() != first_spec.dag_hash()
|
||||
# we also want to confirm that reuse actually works so leave variant off to let solver reuse
|
||||
third_spec = spack.spec.Spec("git-ref-package@git.2.1.5=2.1.5")
|
||||
assert first_spec.satisfies(third_spec)
|
||||
third_spec.concretize()
|
||||
assert third_spec.dag_hash() == first_spec.dag_hash()
|
||||
|
||||
|
||||
@pytest.mark.only_clingo("clingo only reuse feature being tested")
|
||||
@pytest.mark.parametrize(
|
||||
"standard_version",["2.0.0", "2.1.5", "2.1.6"]
|
||||
)
|
||||
def test_reuse_prefers_standard_over_git_versions(
|
||||
install_mockery_mutable_config, do_not_check_runtimes_on_reuse
|
||||
standard_version, install_mockery_mutable_config, do_not_check_runtimes_on_reuse
|
||||
):
|
||||
"""
|
||||
order matters in this test. typically reuse would pick the last installed match
|
||||
but we want to prefer the standard version over git ref based versions
|
||||
so install git ref last and ensure it is not picked up by reuse
|
||||
"""
|
||||
standard_spec = spack.spec.Spec("git-ref-package@2.1.5").concretized()
|
||||
standard_spec = spack.spec.Spec(f"git-ref-package@{standard_version}").concretized()
|
||||
standard_spec.package.do_install(fake=True, explicit=True)
|
||||
|
||||
git_spec = spack.spec.Spec("git-ref-package@git.2.1.5=2.1.5").concretized()
|
||||
|
Loading…
Reference in New Issue
Block a user