Add tests

This commit is contained in:
Philip Sakievich 2025-02-08 06:34:18 -07:00 committed by psakiev
parent 251af651c9
commit 1199b1ef99
2 changed files with 29 additions and 0 deletions

View File

@ -3305,3 +3305,31 @@ def _ensure_cache_hits(self, problem: str):
# object
for _ in range(5):
assert h == spack.concretize.concretize_one("hdf5")
@pytest.mark.usefixtures("mutable_config", "mock_packages", "do_not_check_runtimes_on_reuse")
@pytest.mark.parametrize(
"spec_str, should_pass, error_type",
[
(f"git-ref-package@main commit={'a' *40}", True, None),
(f"git-ref-package@main commit={'a' *39}", False, AssertionError),
# TODO only versions with git refs should allow the commit variant
],
)
def test_spec_containing_commit_variant(spec_str, should_pass, error_type):
spec = spack.spec.Spec(spec_str)
if should_pass:
spec.concretize()
else:
with pytest.raises(error_type):
spec.concretize()
@pytest.mark.usefixtures("mutable_config", "mock_packages", "do_not_check_runtimes_on_reuse")
@pytest.mark.parametrize("version_str", [f"git.{'a' *40}=main", "git.2.1.5=main"])
def test_relationship_git_versions_and_commit_variant(version_str):
spec = spack.spec.Spec(f"git-ref-package@{version_str}").concretized()
if spec.version.commit_sha:
assert spec.version.commit_sha == spec.variants["commit"].value
else:
assert "commit" not in spec.variants

View File

@ -14,6 +14,7 @@ class GitRefPackage(AutotoolsPackage):
url = "https://github.com/dummy/dummy/archive/2.0.0.tar.gz"
git = "https://github.com/dummy/dummy.git"
version("main", branch="main")
version("2.1.6", sha256="a5d504c0d52e2e2721e7e7d86988dec2e290d723ced2307145dedd06aeb6fef2")
version("2.1.5", sha256="3f6576971397b379d4205ae5451ff5a68edf6c103b2f03c4188ed7075fbb5f04")
version("2.1.4", sha256="a0293475e6a44a3f6c045229fe50f69dc0eebc62a42405a51f19d46a5541e77a")