diff options
author | Maksim Denisov <denisov.maksim@huawei.com> | 2024-09-09 17:27:41 +0200 |
---|---|---|
committer | Maksim Denisov <denisov.maksim@huawei.com> | 2024-09-11 14:52:07 +0200 |
commit | 64a121ca3fc6b16f9c6595ab59441f730c889e01 (patch) | |
tree | 2c2e2fae3b559f8d08a73a740db95322bb715aaf /test | |
parent | 8e652e5d7b6fbe0abf07df62814c655759564247 (diff) | |
download | justbuild-64a121ca3fc6b16f9c6595ab59441f730c889e01.tar.gz |
Use ArtifactDigestFactory in install_cas
Diffstat (limited to 'test')
-rw-r--r-- | test/buildtool/main/TARGETS | 2 | ||||
-rw-r--r-- | test/buildtool/main/install_cas.test.cpp | 42 |
2 files changed, 31 insertions, 13 deletions
diff --git a/test/buildtool/main/TARGETS b/test/buildtool/main/TARGETS index e0871cf1..af6e228a 100644 --- a/test/buildtool/main/TARGETS +++ b/test/buildtool/main/TARGETS @@ -7,6 +7,8 @@ , ["", "catch-main"] , ["@", "src", "src/buildtool/common", "common"] , ["@", "src", "src/buildtool/main", "install_cas"] + , ["@", "src", "src/buildtool/crypto", "hash_function"] + , ["@", "src", "src/buildtool/compatibility", "compatibility"] ] , "stage": ["test", "buildtool", "main"] } diff --git a/test/buildtool/main/install_cas.test.cpp b/test/buildtool/main/install_cas.test.cpp index 9c9ef8e0..8e9bc121 100644 --- a/test/buildtool/main/install_cas.test.cpp +++ b/test/buildtool/main/install_cas.test.cpp @@ -16,54 +16,70 @@ #include "catch2/catch_test_macros.hpp" #include "src/buildtool/common/artifact.hpp" +#include "src/buildtool/compatibility/compatibility.hpp" +#include "src/buildtool/crypto/hash_function.hpp" TEST_CASE("ObjectInfoFromLiberalString", "[artifact]") { auto expected = *Artifact::ObjectInfo::FromString( "[5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689:11:f]"); - auto expected_as_tree = *Artifact::ObjectInfo::FromString( - "[5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689:0:t]"); // Check (default) file hashes CHECK(ObjectInfoFromLiberalString( + HashFunction::Type::GitSHA1, "[5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689:11:f]", /*has_remote=*/false) == expected); CHECK(ObjectInfoFromLiberalString( + HashFunction::Type::GitSHA1, "5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689:11:f]", /*has_remote=*/false) == expected); CHECK(ObjectInfoFromLiberalString( + HashFunction::Type::GitSHA1, "[5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689:11:f", /*has_remote=*/false) == expected); CHECK(ObjectInfoFromLiberalString( + HashFunction::Type::GitSHA1, "5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689:11:f", /*has_remote=*/false) == expected); CHECK(ObjectInfoFromLiberalString( + HashFunction::Type::GitSHA1, "5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689:11:file", /*has_remote=*/false) == expected); CHECK(ObjectInfoFromLiberalString( + HashFunction::Type::GitSHA1, "5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689:11:notavalidletter", /*has_remote=*/false) == expected); // Without size, which is not honored in equality CHECK( - ObjectInfoFromLiberalString("5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689", + ObjectInfoFromLiberalString(HashFunction::Type::GitSHA1, + "5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689", /*has_remote=*/false) == expected); CHECK( - ObjectInfoFromLiberalString("5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689:", + ObjectInfoFromLiberalString(HashFunction::Type::GitSHA1, + "5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689:", /*has_remote=*/false) == expected); // Syntactically invalid size should be ignored CHECK(ObjectInfoFromLiberalString( + HashFunction::Type::GitSHA1, "5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689:xyz", /*has_remote=*/false) == expected); // Check tree hashes - CHECK(ObjectInfoFromLiberalString( - "5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689::t", - /*has_remote=*/false) == expected_as_tree); - CHECK(ObjectInfoFromLiberalString( - "5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689::tree", - /*has_remote=*/false) == expected_as_tree); - CHECK(ObjectInfoFromLiberalString( - "5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689:xyz:t", - /*has_remote=*/false) == expected_as_tree); + if (not Compatibility::IsCompatible()) { + auto expected_as_tree = *Artifact::ObjectInfo::FromString( + "[5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689:0:t]"); + CHECK(ObjectInfoFromLiberalString( + HashFunction::Type::GitSHA1, + "5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689::t", + /*has_remote=*/false) == expected_as_tree); + CHECK(ObjectInfoFromLiberalString( + HashFunction::Type::GitSHA1, + "5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689::tree", + /*has_remote=*/false) == expected_as_tree); + CHECK(ObjectInfoFromLiberalString( + HashFunction::Type::GitSHA1, + "5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689:xyz:t", + /*has_remote=*/false) == expected_as_tree); + } } |