diff options
author | Maksim Denisov <denisov.maksim@huawei.com> | 2024-09-10 18:51:20 +0200 |
---|---|---|
committer | Maksim Denisov <denisov.maksim@huawei.com> | 2024-09-13 14:41:00 +0200 |
commit | f60d39620b29aeaf1addeb244bdd6e15ddf4894c (patch) | |
tree | 2617d65884c975b3fc63dd48e58242ec36138246 /test | |
parent | ed8f24fb246142ffaa88707ae86b53c34df82986 (diff) | |
download | justbuild-f60d39620b29aeaf1addeb244bdd6e15ddf4894c.tar.gz |
Rename Compatibility class to ProtocolTraits
...and move it to the common stage.
Diffstat (limited to 'test')
33 files changed, 127 insertions, 98 deletions
diff --git a/test/buildtool/build_engine/base_maps/TARGETS b/test/buildtool/build_engine/base_maps/TARGETS index 855d6217..2c5f4029 100644 --- a/test/buildtool/build_engine/base_maps/TARGETS +++ b/test/buildtool/build_engine/base_maps/TARGETS @@ -63,6 +63,7 @@ , ["", "catch-main"] , ["@", "json", "", "json"] , ["@", "src", "src/buildtool/common", "config"] + , ["@", "src", "src/buildtool/common", "protocol_traits"] , ["@", "src", "src/buildtool/build_engine/base_maps", "directory_map"] , ["@", "src", "src/buildtool/build_engine/base_maps", "source_map"] , ["@", "src", "src/buildtool/build_engine/base_maps", "entity_name_data"] diff --git a/test/buildtool/build_engine/base_maps/source_map.test.cpp b/test/buildtool/build_engine/base_maps/source_map.test.cpp index 44c6863a..b6c7f1c1 100644 --- a/test/buildtool/build_engine/base_maps/source_map.test.cpp +++ b/test/buildtool/build_engine/base_maps/source_map.test.cpp @@ -25,6 +25,7 @@ #include "src/buildtool/build_engine/base_maps/directory_map.hpp" #include "src/buildtool/build_engine/base_maps/entity_name.hpp" #include "src/buildtool/build_engine/base_maps/entity_name_data.hpp" +#include "src/buildtool/common/protocol_traits.hpp" #include "src/buildtool/common/repository_config.hpp" #include "src/buildtool/file_system/file_root.hpp" #include "src/buildtool/multithreading/async_map_consumer.hpp" @@ -102,7 +103,8 @@ TEST_CASE("from file") { CHECK(ReadSourceTarget(name, consumer, /*use_git=*/true)); CHECK(artifacts["file"]["type"] == "KNOWN"); CHECK(artifacts["file"]["data"]["id"] == - (Compatibility::IsCompatible() ? kEmptySha256 : kEmptySha1)); + (ProtocolTraits::Instance().IsCompatible() ? kEmptySha256 + : kEmptySha1)); CHECK(artifacts["file"]["data"]["size"] == 0); } } @@ -168,7 +170,8 @@ TEST_CASE("subdir file") { CHECK(ReadSourceTarget(name, consumer, /*use_git=*/true)); CHECK(artifacts["bar/file"]["type"] == "KNOWN"); CHECK(artifacts["bar/file"]["data"]["id"] == - (Compatibility::IsCompatible() ? kEmptySha256 : kEmptySha1)); + (ProtocolTraits::Instance().IsCompatible() ? kEmptySha256 + : kEmptySha1)); CHECK(artifacts["bar/file"]["data"]["size"] == 0); } } @@ -189,9 +192,9 @@ TEST_CASE("subdir symlink") { SECTION("via git tree") { CHECK(ReadSourceTarget(name, consumer, /*use_git=*/true)); CHECK(artifacts["link"]["type"] == "KNOWN"); - CHECK(artifacts["link"]["data"]["id"] == (Compatibility::IsCompatible() - ? kSrcLinkIdSha256 - : kSrcLinkIdSha1)); + CHECK(artifacts["link"]["data"]["id"] == + (ProtocolTraits::Instance().IsCompatible() ? kSrcLinkIdSha256 + : kSrcLinkIdSha1)); CHECK(artifacts["link"]["data"]["size"] == 5); // content: dummy } } diff --git a/test/buildtool/common/TARGETS b/test/buildtool/common/TARGETS index ef1fff25..1355af3f 100644 --- a/test/buildtool/common/TARGETS +++ b/test/buildtool/common/TARGETS @@ -9,9 +9,9 @@ , ["@", "src", "src/buildtool/common", "artifact_description"] , ["@", "src", "src/buildtool/common", "common"] , ["@", "src", "src/buildtool/common", "artifact_digest_factory"] + , ["@", "src", "src/buildtool/common", "protocol_traits"] , ["@", "src", "src/buildtool/crypto", "hash_function"] , ["@", "src", "src/buildtool/file_system", "object_type"] - , ["@", "src", "src/buildtool/compatibility", "compatibility"] ] , "stage": ["test", "buildtool", "common"] } @@ -25,8 +25,8 @@ , ["@", "json", "", "json"] , ["@", "src", "src/buildtool/common", "action_description"] , ["@", "src", "src/buildtool/common", "common"] + , ["@", "src", "src/buildtool/common", "protocol_traits"] , ["@", "src", "src/buildtool/crypto", "hash_function"] - , ["@", "src", "src/buildtool/compatibility", "compatibility"] ] , "stage": ["test", "buildtool", "common"] } diff --git a/test/buildtool/common/action_description.test.cpp b/test/buildtool/common/action_description.test.cpp index 7d5a72d7..504f6aa3 100644 --- a/test/buildtool/common/action_description.test.cpp +++ b/test/buildtool/common/action_description.test.cpp @@ -20,7 +20,7 @@ #include "nlohmann/json.hpp" #include "src/buildtool/common/action.hpp" #include "src/buildtool/common/artifact_description.hpp" -#include "src/buildtool/compatibility/compatibility.hpp" +#include "src/buildtool/common/protocol_traits.hpp" #include "src/buildtool/crypto/hash_function.hpp" [[nodiscard]] static inline auto GetHashType(bool compatible) noexcept @@ -45,7 +45,8 @@ TEST_CASE("From JSON", "[action_description]") { desc.Inputs()} .ToJson(); - auto const hash_type = GetHashType(Compatibility::IsCompatible()); + auto const hash_type = + GetHashType(ProtocolTraits::Instance().IsCompatible()); SECTION("Parse full action") { auto description = ActionDescription::FromJson(hash_type, "id", json); REQUIRE(description); diff --git a/test/buildtool/common/artifact_description.test.cpp b/test/buildtool/common/artifact_description.test.cpp index a05baa66..99a24964 100644 --- a/test/buildtool/common/artifact_description.test.cpp +++ b/test/buildtool/common/artifact_description.test.cpp @@ -22,12 +22,12 @@ #include "src/buildtool/common/artifact.hpp" #include "src/buildtool/common/artifact_digest.hpp" #include "src/buildtool/common/artifact_digest_factory.hpp" -#include "src/buildtool/compatibility/compatibility.hpp" +#include "src/buildtool/common/protocol_traits.hpp" #include "src/buildtool/crypto/hash_function.hpp" #include "src/buildtool/file_system/object_type.hpp" static auto NamedDigest(std::string const& str) -> ArtifactDigest { - HashFunction const hash_function{Compatibility::IsCompatible() + HashFunction const hash_function{ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1}; return ArtifactDigestFactory::HashDataAs<ObjectType::File>(hash_function, @@ -50,7 +50,8 @@ TEST_CASE("Local artifact", "[artifact_description]") { auto local_desc = ArtifactDescription::CreateLocal( std::filesystem::path{"local_path"}, "repo"); auto from_json = ArtifactDescription::FromJson( - GetHashType(Compatibility::IsCompatible()), local_desc.ToJson()); + GetHashType(ProtocolTraits::Instance().IsCompatible()), + local_desc.ToJson()); CHECK(local_desc == *from_json); } @@ -59,21 +60,24 @@ TEST_CASE("Known artifact", "[artifact_description]") { auto known_desc = ArtifactDescription::CreateKnown( NamedDigest("f_fake_hash"), ObjectType::File); auto from_json = ArtifactDescription::FromJson( - GetHashType(Compatibility::IsCompatible()), known_desc.ToJson()); + GetHashType(ProtocolTraits::Instance().IsCompatible()), + known_desc.ToJson()); CHECK(known_desc == *from_json); } SECTION("Executable object") { auto known_desc = ArtifactDescription::CreateKnown( NamedDigest("x_fake_hash"), ObjectType::Executable); auto from_json = ArtifactDescription::FromJson( - GetHashType(Compatibility::IsCompatible()), known_desc.ToJson()); + GetHashType(ProtocolTraits::Instance().IsCompatible()), + known_desc.ToJson()); CHECK(known_desc == *from_json); } SECTION("Symlink object") { auto known_desc = ArtifactDescription::CreateKnown( NamedDigest("l_fake_hash"), ObjectType::Symlink); auto from_json = ArtifactDescription::FromJson( - GetHashType(Compatibility::IsCompatible()), known_desc.ToJson()); + GetHashType(ProtocolTraits::Instance().IsCompatible()), + known_desc.ToJson()); CHECK(known_desc == *from_json); } } @@ -82,7 +86,8 @@ TEST_CASE("Action artifact", "[artifact_description]") { auto action_desc = ArtifactDescription::CreateAction( "action_id", std::filesystem::path{"out_path"}); auto from_json = ArtifactDescription::FromJson( - GetHashType(Compatibility::IsCompatible()), action_desc.ToJson()); + GetHashType(ProtocolTraits::Instance().IsCompatible()), + action_desc.ToJson()); CHECK(action_desc == *from_json); } @@ -93,7 +98,8 @@ TEST_CASE("From JSON", "[artifact_description]") { .ToJson(); auto action = ArtifactDescription::CreateAction("id", "output").ToJson(); - auto const hash_type = GetHashType(Compatibility::IsCompatible()); + auto const hash_type = + GetHashType(ProtocolTraits::Instance().IsCompatible()); SECTION("Parse artifacts") { CHECK(ArtifactDescription::FromJson(hash_type, local)); CHECK(ArtifactDescription::FromJson(hash_type, known)); @@ -172,10 +178,10 @@ TEST_CASE("Description missing mandatory key/value pair", "[artifact_description]") { nlohmann::json const missing_type = {{"data", {{"path", "some/path"}}}}; CHECK(not ArtifactDescription::FromJson( - GetHashType(Compatibility::IsCompatible()), missing_type)); + GetHashType(ProtocolTraits::Instance().IsCompatible()), missing_type)); nlohmann::json const missing_data = {{"type", "LOCAL"}}; CHECK(not ArtifactDescription::FromJson( - GetHashType(Compatibility::IsCompatible()), missing_data)); + GetHashType(ProtocolTraits::Instance().IsCompatible()), missing_data)); } TEST_CASE("Local artifact description contains incorrect value for \"data\"", @@ -183,7 +189,8 @@ TEST_CASE("Local artifact description contains incorrect value for \"data\"", nlohmann::json const local_art_missing_path = { {"type", "LOCAL"}, {"data", nlohmann::json::object()}}; CHECK(not ArtifactDescription::FromJson( - GetHashType(Compatibility::IsCompatible()), local_art_missing_path)); + GetHashType(ProtocolTraits::Instance().IsCompatible()), + local_art_missing_path)); } TEST_CASE("Known artifact description contains incorrect value for \"data\"", @@ -195,14 +202,15 @@ TEST_CASE("Known artifact description contains incorrect value for \"data\"", {"type", "KNOWN"}, {"data", {{"size", 15}, {"file_type", file_type}}}}; CHECK(not ArtifactDescription::FromJson( - GetHashType(Compatibility::IsCompatible()), known_art_missing_id)); + GetHashType(ProtocolTraits::Instance().IsCompatible()), + known_art_missing_id)); } SECTION("missing \"size\"") { nlohmann::json const known_art_missing_size = { {"type", "KNOWN"}, {"data", {{"id", "known_input"}, {"file_type", file_type}}}}; CHECK(not ArtifactDescription::FromJson( - GetHashType(Compatibility::IsCompatible()), + GetHashType(ProtocolTraits::Instance().IsCompatible()), known_art_missing_size)); } SECTION("missing \"file_type\"") { @@ -210,7 +218,7 @@ TEST_CASE("Known artifact description contains incorrect value for \"data\"", {"type", "KNOWN"}, {"data", {{"id", "known_input"}, {"size", 15}}}}; CHECK(not ArtifactDescription::FromJson( - GetHashType(Compatibility::IsCompatible()), + GetHashType(ProtocolTraits::Instance().IsCompatible()), known_art_missing_file_type)); } } @@ -220,10 +228,12 @@ TEST_CASE("Action artifact description contains incorrect value for \"data\"", nlohmann::json const action_art_missing_id = { {"type", "ACTION"}, {"data", {{"path", "output/path"}}}}; CHECK(not ArtifactDescription::FromJson( - GetHashType(Compatibility::IsCompatible()), action_art_missing_id)); + GetHashType(ProtocolTraits::Instance().IsCompatible()), + action_art_missing_id)); nlohmann::json const action_art_missing_path = { {"type", "ACTION"}, {"data", {{"id", "action_id"}}}}; CHECK(not ArtifactDescription::FromJson( - GetHashType(Compatibility::IsCompatible()), action_art_missing_path)); + GetHashType(ProtocolTraits::Instance().IsCompatible()), + action_art_missing_path)); } diff --git a/test/buildtool/execution_api/bazel/TARGETS b/test/buildtool/execution_api/bazel/TARGETS index 192a6182..64e52ad6 100644 --- a/test/buildtool/execution_api/bazel/TARGETS +++ b/test/buildtool/execution_api/bazel/TARGETS @@ -9,6 +9,7 @@ , ["utils", "test_auth_config"] , ["utils", "test_remote_config"] , ["@", "src", "src/buildtool/common", "bazel_digest_factory"] + , ["@", "src", "src/buildtool/common", "protocol_traits"] , ["@", "src", "src/buildtool/common/remote", "retry_config"] , ["@", "src", "src/buildtool/execution_api/bazel_msg", "bazel_msg"] , ["@", "src", "src/buildtool/execution_api/remote", "bazel_network"] @@ -29,12 +30,12 @@ , ["utils", "test_auth_config"] , ["utils", "test_remote_config"] , ["@", "src", "src/buildtool/common", "bazel_digest_factory"] + , ["@", "src", "src/buildtool/common", "protocol_traits"] , ["@", "src", "src/buildtool/common/remote", "retry_config"] , ["@", "src", "src/buildtool/execution_api/remote", "bazel_network"] , ["@", "src", "src/buildtool/execution_api/remote", "config"] , ["@", "src", "src/buildtool/file_system", "object_type"] , ["@", "src", "src/buildtool/crypto", "hash_function"] - , ["@", "src", "src/buildtool/compatibility", "compatibility"] ] , "stage": ["test", "buildtool", "execution_api", "bazel"] } @@ -49,12 +50,12 @@ , ["utils", "test_auth_config"] , ["utils", "test_remote_config"] , ["@", "src", "src/buildtool/common", "bazel_digest_factory"] + , ["@", "src", "src/buildtool/common", "protocol_traits"] , ["@", "src", "src/buildtool/execution_api/bazel_msg", "bazel_msg"] , ["@", "src", "src/buildtool/execution_api/remote", "bazel_network"] , ["@", "src", "src/buildtool/execution_api/remote", "config"] , ["@", "src", "src/buildtool/file_system", "object_type"] , ["@", "src", "src/buildtool/crypto", "hash_function"] - , ["@", "src", "src/buildtool/compatibility", "compatibility"] ] , "stage": ["test", "buildtool", "execution_api", "bazel"] } @@ -69,8 +70,8 @@ , ["utils", "test_auth_config"] , ["utils", "test_remote_config"] , ["@", "src", "src/buildtool/common", "bazel_digest_factory"] + , ["@", "src", "src/buildtool/common", "protocol_traits"] , ["@", "src", "src/buildtool/common/remote", "retry_config"] - , ["@", "src", "src/buildtool/compatibility", "compatibility"] , ["@", "src", "src/buildtool/execution_api/bazel_msg", "bazel_msg"] , ["@", "src", "src/buildtool/execution_api/remote", "bazel_network"] , ["@", "src", "src/buildtool/execution_api/remote", "config"] @@ -96,8 +97,8 @@ , ["@", "src", "src/buildtool/file_system", "object_type"] , ["@", "src", "src/buildtool/common", "common"] , ["@", "src", "src/buildtool/common", "artifact_digest_factory"] + , ["@", "src", "src/buildtool/common", "protocol_traits"] , ["@", "src", "src/buildtool/crypto", "hash_function"] - , ["@", "src", "src/buildtool/compatibility", "compatibility"] , ["@", "src", "src/buildtool/execution_api/common", "common"] , [ "@" , "src" @@ -121,7 +122,7 @@ , ["@", "src", "src/buildtool/execution_api/remote", "bazel"] , ["buildtool/execution_api/common", "api_test"] , ["@", "src", "src/buildtool/crypto", "hash_function"] - , ["@", "src", "src/buildtool/compatibility", "compatibility"] + , ["@", "src", "src/buildtool/common", "protocol_traits"] ] , "stage": ["test", "buildtool", "execution_api", "bazel"] } diff --git a/test/buildtool/execution_api/bazel/bazel_api.test.cpp b/test/buildtool/execution_api/bazel/bazel_api.test.cpp index bced4a87..5dc4198d 100644 --- a/test/buildtool/execution_api/bazel/bazel_api.test.cpp +++ b/test/buildtool/execution_api/bazel/bazel_api.test.cpp @@ -18,8 +18,8 @@ #include <string> #include "catch2/catch_test_macros.hpp" +#include "src/buildtool/common/protocol_traits.hpp" #include "src/buildtool/common/remote/retry_config.hpp" -#include "src/buildtool/compatibility/compatibility.hpp" #include "src/buildtool/crypto/hash_function.hpp" #include "src/buildtool/execution_api/remote/config.hpp" #include "test/buildtool/execution_api/common/api_test.hpp" @@ -64,7 +64,7 @@ TEST_CASE("BazelAPI: No input, no output", "[execution_api]") { auto auth = TestAuthConfig::ReadFromEnvironment(); REQUIRE(auth); - HashFunction const hash_function{Compatibility::IsCompatible() + HashFunction const hash_function{ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1}; @@ -80,7 +80,7 @@ TEST_CASE("BazelAPI: No input, create output", "[execution_api]") { auto auth = TestAuthConfig::ReadFromEnvironment(); REQUIRE(auth); - HashFunction const hash_function{Compatibility::IsCompatible() + HashFunction const hash_function{ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1}; @@ -96,7 +96,7 @@ TEST_CASE("BazelAPI: One input copied to output", "[execution_api]") { auto auth = TestAuthConfig::ReadFromEnvironment(); REQUIRE(auth); - HashFunction const hash_function{Compatibility::IsCompatible() + HashFunction const hash_function{ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1}; @@ -112,7 +112,7 @@ TEST_CASE("BazelAPI: Non-zero exit code, create output", "[execution_api]") { auto auth = TestAuthConfig::ReadFromEnvironment(); REQUIRE(auth); - HashFunction const hash_function{Compatibility::IsCompatible() + HashFunction const hash_function{ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1}; @@ -129,7 +129,7 @@ TEST_CASE("BazelAPI: Retrieve two identical trees to path", "[execution_api]") { auto auth = TestAuthConfig::ReadFromEnvironment(); REQUIRE(auth); - HashFunction const hash_function{Compatibility::IsCompatible() + HashFunction const hash_function{ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1}; @@ -147,7 +147,7 @@ TEST_CASE("BazelAPI: Retrieve file and symlink with same content to path", auto auth = TestAuthConfig::ReadFromEnvironment(); REQUIRE(auth); - HashFunction const hash_function{Compatibility::IsCompatible() + HashFunction const hash_function{ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1}; @@ -164,7 +164,7 @@ TEST_CASE("BazelAPI: Retrieve mixed blobs and trees", "[execution_api]") { auto auth = TestAuthConfig::ReadFromEnvironment(); REQUIRE(auth); - HashFunction const hash_function{Compatibility::IsCompatible() + HashFunction const hash_function{ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1}; @@ -181,7 +181,7 @@ TEST_CASE("BazelAPI: Create directory prior to execution", "[execution_api]") { auto auth = TestAuthConfig::ReadFromEnvironment(); REQUIRE(auth); - HashFunction const hash_function{Compatibility::IsCompatible() + HashFunction const hash_function{ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1}; diff --git a/test/buildtool/execution_api/bazel/bazel_cas_client.test.cpp b/test/buildtool/execution_api/bazel/bazel_cas_client.test.cpp index e4772f7d..4be61071 100644 --- a/test/buildtool/execution_api/bazel/bazel_cas_client.test.cpp +++ b/test/buildtool/execution_api/bazel/bazel_cas_client.test.cpp @@ -21,6 +21,7 @@ #include "catch2/catch_test_macros.hpp" #include "gsl/gsl" #include "src/buildtool/common/bazel_digest_factory.hpp" +#include "src/buildtool/common/protocol_traits.hpp" #include "src/buildtool/common/remote/retry_config.hpp" #include "src/buildtool/crypto/hash_function.hpp" #include "src/buildtool/execution_api/bazel_msg/bazel_blob_container.hpp" @@ -49,9 +50,10 @@ TEST_CASE("Bazel internals: CAS Client", "[execution_api]") { SECTION("Valid digest and blob") { // digest of "test" - HashFunction const hash_function{Compatibility::IsCompatible() - ? HashFunction::Type::PlainSHA256 - : HashFunction::Type::GitSHA1}; + HashFunction const hash_function{ + ProtocolTraits::Instance().IsCompatible() + ? HashFunction::Type::PlainSHA256 + : HashFunction::Type::GitSHA1}; auto digest = BazelDigestFactory::HashDataAs<ObjectType::File>( hash_function, content); diff --git a/test/buildtool/execution_api/bazel/bazel_execution_client.test.cpp b/test/buildtool/execution_api/bazel/bazel_execution_client.test.cpp index c354316c..a0f77066 100644 --- a/test/buildtool/execution_api/bazel/bazel_execution_client.test.cpp +++ b/test/buildtool/execution_api/bazel/bazel_execution_client.test.cpp @@ -18,8 +18,8 @@ #include "catch2/catch_test_macros.hpp" #include "src/buildtool/common/bazel_digest_factory.hpp" +#include "src/buildtool/common/protocol_traits.hpp" #include "src/buildtool/common/remote/retry_config.hpp" -#include "src/buildtool/compatibility/compatibility.hpp" #include "src/buildtool/crypto/hash_function.hpp" #include "src/buildtool/execution_api/remote/config.hpp" #include "src/buildtool/file_system/object_type.hpp" @@ -31,7 +31,7 @@ TEST_CASE("Bazel internals: Execution Client", "[execution_api]") { std::string instance_name{"remote-execution"}; std::string content("test"); - HashFunction const hash_function{Compatibility::IsCompatible() + HashFunction const hash_function{ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1}; @@ -115,7 +115,7 @@ TEST_CASE("Bazel internals: Execution Client using env variables", std::string instance_name{"remote-execution"}; std::string content("contents of env variable"); - HashFunction const hash_function{Compatibility::IsCompatible() + HashFunction const hash_function{ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1}; diff --git a/test/buildtool/execution_api/bazel/bazel_msg_factory.test.cpp b/test/buildtool/execution_api/bazel/bazel_msg_factory.test.cpp index 40dec8da..8ec074f9 100644 --- a/test/buildtool/execution_api/bazel/bazel_msg_factory.test.cpp +++ b/test/buildtool/execution_api/bazel/bazel_msg_factory.test.cpp @@ -23,7 +23,7 @@ #include "src/buildtool/common/artifact_description.hpp" #include "src/buildtool/common/artifact_digest.hpp" #include "src/buildtool/common/artifact_digest_factory.hpp" -#include "src/buildtool/compatibility/compatibility.hpp" +#include "src/buildtool/common/protocol_traits.hpp" #include "src/buildtool/crypto/hash_function.hpp" #include "src/buildtool/execution_api/common/artifact_blob_container.hpp" #include "src/buildtool/file_system/file_system_manager.hpp" @@ -62,7 +62,7 @@ TEST_CASE("Bazel internals: MessageFactory", "[execution_api]") { std::filesystem::path link = subdir1 / "link"; REQUIRE(FileSystemManager::CreateSymlink("file1", link)); - HashFunction const hash_function{Compatibility::IsCompatible() + HashFunction const hash_function{ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1}; diff --git a/test/buildtool/execution_api/bazel/bazel_network.test.cpp b/test/buildtool/execution_api/bazel/bazel_network.test.cpp index 01c5aea9..c69e7619 100644 --- a/test/buildtool/execution_api/bazel/bazel_network.test.cpp +++ b/test/buildtool/execution_api/bazel/bazel_network.test.cpp @@ -22,8 +22,8 @@ #include "catch2/catch_test_macros.hpp" #include "src/buildtool/auth/authentication.hpp" #include "src/buildtool/common/bazel_digest_factory.hpp" +#include "src/buildtool/common/protocol_traits.hpp" #include "src/buildtool/common/remote/retry_config.hpp" -#include "src/buildtool/compatibility/compatibility.hpp" #include "src/buildtool/crypto/hash_function.hpp" #include "src/buildtool/execution_api/bazel_msg/bazel_blob_container.hpp" #include "src/buildtool/execution_api/remote/bazel/bazel_execution_client.hpp" @@ -46,7 +46,7 @@ TEST_CASE("Bazel network: write/read blobs", "[execution_api]") { RetryConfig retry_config{}; // default retry config - HashFunction const hash_function{Compatibility::IsCompatible() + HashFunction const hash_function{ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1}; @@ -97,7 +97,7 @@ TEST_CASE("Bazel network: write/read blobs", "[execution_api]") { } TEST_CASE("Bazel network: read blobs with unknown size", "[execution_api]") { - if (Compatibility::IsCompatible()) { + if (ProtocolTraits::Instance().IsCompatible()) { // only supported in native mode return; } @@ -113,7 +113,7 @@ TEST_CASE("Bazel network: read blobs with unknown size", "[execution_api]") { RetryConfig retry_config{}; // default retry config - HashFunction const hash_function{Compatibility::IsCompatible() + HashFunction const hash_function{ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1}; diff --git a/test/buildtool/execution_api/bazel/bytestream_client.test.cpp b/test/buildtool/execution_api/bazel/bytestream_client.test.cpp index 731073e5..1956a6a3 100644 --- a/test/buildtool/execution_api/bazel/bytestream_client.test.cpp +++ b/test/buildtool/execution_api/bazel/bytestream_client.test.cpp @@ -21,7 +21,7 @@ #include "catch2/catch_test_macros.hpp" #include "src/buildtool/auth/authentication.hpp" #include "src/buildtool/common/bazel_digest_factory.hpp" -#include "src/buildtool/compatibility/compatibility.hpp" +#include "src/buildtool/common/protocol_traits.hpp" #include "src/buildtool/crypto/hash_function.hpp" #include "src/buildtool/execution_api/bazel_msg/bazel_blob_container.hpp" #include "src/buildtool/execution_api/common/execution_common.hpp" @@ -45,7 +45,7 @@ TEST_CASE("ByteStream Client: Transfer single blob", "[execution_api]") { &*auth_config}; auto uuid = CreateUUIDVersion4(*CreateProcessUniqueId()); - HashFunction const hash_function{Compatibility::IsCompatible() + HashFunction const hash_function{ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1}; @@ -152,7 +152,7 @@ TEST_CASE("ByteStream Client: Transfer multiple blobs", "[execution_api]") { &*auth_config}; auto uuid = CreateUUIDVersion4(*CreateProcessUniqueId()); - HashFunction const hash_function{Compatibility::IsCompatible() + HashFunction const hash_function{ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1}; diff --git a/test/buildtool/execution_api/common/TARGETS b/test/buildtool/execution_api/common/TARGETS index 08ee9c39..f58bb4f0 100644 --- a/test/buildtool/execution_api/common/TARGETS +++ b/test/buildtool/execution_api/common/TARGETS @@ -5,14 +5,14 @@ , "deps": [ ["@", "catch2", "", "catch2"] , ["@", "src", "src/buildtool/common", "artifact_description"] + , ["@", "src", "src/buildtool/common", "protocol_traits"] + , ["@", "src", "src/buildtool/common", "artifact_digest_factory"] , ["@", "src", "src/buildtool/execution_api/common", "common"] , ["@", "src", "src/buildtool/execution_api/local", "config"] , ["@", "src", "src/buildtool/file_system", "file_system_manager"] , ["@", "src", "src/buildtool/logging", "log_level"] , ["@", "src", "src/buildtool/logging", "logging"] , ["@", "src", "src/buildtool/crypto", "hash_function"] - , ["@", "src", "src/buildtool/compatibility", "compatibility"] - , ["@", "src", "src/buildtool/common", "artifact_digest_factory"] ] , "stage": ["test", "buildtool", "execution_api", "common"] } diff --git a/test/buildtool/execution_api/common/api_test.hpp b/test/buildtool/execution_api/common/api_test.hpp index 382760f6..3c4052b3 100644 --- a/test/buildtool/execution_api/common/api_test.hpp +++ b/test/buildtool/execution_api/common/api_test.hpp @@ -25,7 +25,7 @@ #include "catch2/catch_test_macros.hpp" #include "src/buildtool/common/artifact_description.hpp" #include "src/buildtool/common/artifact_digest_factory.hpp" -#include "src/buildtool/compatibility/compatibility.hpp" +#include "src/buildtool/common/protocol_traits.hpp" #include "src/buildtool/crypto/hash_function.hpp" #include "src/buildtool/execution_api/common/execution_action.hpp" #include "src/buildtool/execution_api/common/execution_api.hpp" @@ -140,7 +140,7 @@ using ExecProps = std::map<std::string, std::string>; bool is_hermetic = false) { std::string test_content("test"); - HashFunction const hash_function{Compatibility::IsCompatible() + HashFunction const hash_function{ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1}; @@ -224,7 +224,7 @@ using ExecProps = std::map<std::string, std::string>; bool is_hermetic = false) { std::string test_content("test"); - HashFunction const hash_function{Compatibility::IsCompatible() + HashFunction const hash_function{ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1}; @@ -315,7 +315,7 @@ using ExecProps = std::map<std::string, std::string>; ExecProps const& props) { std::string test_content("test"); - HashFunction const hash_function{Compatibility::IsCompatible() + HashFunction const hash_function{ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1}; diff --git a/test/buildtool/execution_api/execution_service/TARGETS b/test/buildtool/execution_api/execution_service/TARGETS index a2c1e9dd..776f0f2b 100644 --- a/test/buildtool/execution_api/execution_service/TARGETS +++ b/test/buildtool/execution_api/execution_service/TARGETS @@ -17,6 +17,7 @@ , ["@", "src", "src/buildtool/file_system", "object_type"] , ["@", "src", "src/buildtool/common", "common"] , ["@", "src", "src/buildtool/common", "bazel_digest_factory"] + , ["@", "src", "src/buildtool/common", "protocol_traits"] , ["@", "src", "src/buildtool/storage", "config"] , ["@", "src", "src/buildtool/storage", "storage"] , ["@", "gsl", "", "gsl"] diff --git a/test/buildtool/execution_api/execution_service/cas_server.test.cpp b/test/buildtool/execution_api/execution_service/cas_server.test.cpp index ca88b17b..8d68d9cb 100644 --- a/test/buildtool/execution_api/execution_service/cas_server.test.cpp +++ b/test/buildtool/execution_api/execution_service/cas_server.test.cpp @@ -20,6 +20,7 @@ #include "gsl/gsl" #include "src/buildtool/common/artifact_digest.hpp" #include "src/buildtool/common/bazel_digest_factory.hpp" +#include "src/buildtool/common/protocol_traits.hpp" #include "src/buildtool/execution_api/local/config.hpp" #include "src/buildtool/execution_api/local/context.hpp" #include "src/buildtool/file_system/git_repo.hpp" @@ -47,7 +48,7 @@ namespace { TEST_CASE("CAS Service: upload incomplete tree", "[execution_service]") { // For compatible mode tree invariants aren't checked. - if (Compatibility::IsCompatible()) { + if (ProtocolTraits::Instance().IsCompatible()) { return; } diff --git a/test/buildtool/execution_engine/executor/TARGETS b/test/buildtool/execution_engine/executor/TARGETS index a3176e91..74247e49 100644 --- a/test/buildtool/execution_engine/executor/TARGETS +++ b/test/buildtool/execution_engine/executor/TARGETS @@ -7,6 +7,7 @@ , ["@", "src", "src/buildtool/common", "artifact_description"] , ["@", "src", "src/buildtool/common", "common"] , ["@", "src", "src/buildtool/common", "artifact_digest_factory"] + , ["@", "src", "src/buildtool/common", "protocol_traits"] , ["@", "src", "src/buildtool/execution_api/common", "common"] , ["@", "src", "src/buildtool/execution_api/remote", "config"] , ["@", "src", "src/buildtool/execution_api/remote", "context"] @@ -16,7 +17,6 @@ , ["@", "src", "src/buildtool/file_system", "file_system_manager"] , ["@", "src", "src/buildtool/progress_reporting", "progress"] , ["@", "src", "src/buildtool/crypto", "hash_function"] - , ["@", "src", "src/buildtool/compatibility", "compatibility"] , ["@", "catch2", "", "catch2"] , ["@", "gsl", "", "gsl"] , ["utils", "test_api_bundle"] @@ -34,6 +34,7 @@ , ["@", "src", "src/buildtool/common", "common"] , ["@", "src", "src/buildtool/common", "artifact_digest_factory"] , ["@", "src", "src/buildtool/common", "config"] + , ["@", "src", "src/buildtool/common", "protocol_traits"] , ["@", "src", "src/buildtool/common/remote", "retry_config"] , ["@", "src", "src/buildtool/execution_api/common", "common"] , ["@", "src", "src/buildtool/execution_api/remote", "config"] @@ -43,7 +44,6 @@ , ["@", "src", "src/buildtool/execution_engine/executor", "executor"] , ["@", "src", "src/buildtool/progress_reporting", "progress"] , ["@", "src", "src/buildtool/crypto", "hash_function"] - , ["@", "src", "src/buildtool/compatibility", "compatibility"] , ["", "catch-main"] , ["@", "catch2", "", "catch2"] , ["@", "gsl", "", "gsl"] @@ -84,13 +84,13 @@ [ "executor_api_tests" , ["@", "src", "src/buildtool/common", "common"] , ["@", "src", "src/buildtool/common", "config"] + , ["@", "src", "src/buildtool/common", "protocol_traits"] , ["@", "src", "src/buildtool/common/remote", "retry_config"] , ["@", "src", "src/buildtool/execution_api/remote", "bazel"] , ["@", "src", "src/buildtool/execution_api/remote", "config"] , ["@", "src", "src/buildtool/execution_engine/executor", "executor"] , ["@", "src", "src/buildtool/progress_reporting", "progress"] , ["@", "src", "src/buildtool/crypto", "hash_function"] - , ["@", "src", "src/buildtool/compatibility", "compatibility"] , ["utils", "catch-main-remote-execution"] , ["utils", "test_auth_config"] , ["utils", "test_remote_config"] diff --git a/test/buildtool/execution_engine/executor/executor.test.cpp b/test/buildtool/execution_engine/executor/executor.test.cpp index ee950ec0..d0533f9c 100644 --- a/test/buildtool/execution_engine/executor/executor.test.cpp +++ b/test/buildtool/execution_engine/executor/executor.test.cpp @@ -29,9 +29,9 @@ #include "src/buildtool/common/artifact_description.hpp" #include "src/buildtool/common/artifact_digest.hpp" #include "src/buildtool/common/artifact_digest_factory.hpp" +#include "src/buildtool/common/protocol_traits.hpp" #include "src/buildtool/common/repository_config.hpp" #include "src/buildtool/common/statistics.hpp" -#include "src/buildtool/compatibility/compatibility.hpp" #include "src/buildtool/crypto/hash_function.hpp" #include "src/buildtool/execution_api/common/execution_api.hpp" #include "src/buildtool/execution_api/remote/config.hpp" @@ -64,7 +64,7 @@ struct TestApiConfig { }; static auto NamedDigest(std::string const& str) -> ArtifactDigest { - HashFunction const hash_function{Compatibility::IsCompatible() + HashFunction const hash_function{ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1}; return ArtifactDigestFactory::HashDataAs<ObjectType::File>(hash_function, @@ -305,7 +305,7 @@ TEST_CASE("Executor: Process artifact", "[executor]") { DependencyGraph g; auto [config, repo_config] = CreateTest(&g, workspace_path); - HashFunction const hash_function{Compatibility::IsCompatible() + HashFunction const hash_function{ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1}; @@ -383,7 +383,7 @@ TEST_CASE("Executor: Process action", "[executor]") { DependencyGraph g; auto [config, repo_config] = CreateTest(&g, workspace_path); - HashFunction const hash_function{Compatibility::IsCompatible() + HashFunction const hash_function{ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1}; diff --git a/test/buildtool/execution_engine/executor/executor_api.test.hpp b/test/buildtool/execution_engine/executor/executor_api.test.hpp index c898d9e8..570c6e39 100644 --- a/test/buildtool/execution_engine/executor/executor_api.test.hpp +++ b/test/buildtool/execution_engine/executor/executor_api.test.hpp @@ -27,10 +27,10 @@ #include "src/buildtool/common/artifact.hpp" #include "src/buildtool/common/artifact_description.hpp" #include "src/buildtool/common/artifact_digest_factory.hpp" +#include "src/buildtool/common/protocol_traits.hpp" #include "src/buildtool/common/remote/retry_config.hpp" #include "src/buildtool/common/repository_config.hpp" #include "src/buildtool/common/statistics.hpp" -#include "src/buildtool/compatibility/compatibility.hpp" #include "src/buildtool/crypto/hash_function.hpp" #include "src/buildtool/execution_api/common/execution_api.hpp" #include "src/buildtool/execution_api/remote/config.hpp" @@ -56,7 +56,7 @@ static inline void RunBlobUpload(RepositoryConfig* repo_config, ApiFactory const& factory) { SetupConfig(repo_config); auto api = factory(); - HashFunction const hash_function{Compatibility::IsCompatible() + HashFunction const hash_function{ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1}; @@ -144,7 +144,7 @@ static inline void RunHelloWorldCompilation( .retry_config = &retry_config, .exec_config = &*remote_config}; - HashFunction const hash_function{Compatibility::IsCompatible() + HashFunction const hash_function{ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1}; @@ -279,7 +279,7 @@ static inline void RunGreeterCompilation( .retry_config = &retry_config, .exec_config = &*remote_config}; - HashFunction const hash_function{Compatibility::IsCompatible() + HashFunction const hash_function{ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1}; @@ -420,7 +420,7 @@ static inline void TestUploadAndDownloadTrees( env.emplace("PATH", "/bin:/usr/bin"); } - HashFunction const hash_function{Compatibility::IsCompatible() + HashFunction const hash_function{ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1}; @@ -576,7 +576,7 @@ static inline void TestRetrieveOutputDirectories( int /*expected_cached*/ = 0) { SetupConfig(repo_config); - HashFunction const hash_function{Compatibility::IsCompatible() + HashFunction const hash_function{ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1}; diff --git a/test/buildtool/execution_engine/executor/executor_api_remote_bazel.test.cpp b/test/buildtool/execution_engine/executor/executor_api_remote_bazel.test.cpp index 0e068ea9..fd2167a7 100644 --- a/test/buildtool/execution_engine/executor/executor_api_remote_bazel.test.cpp +++ b/test/buildtool/execution_engine/executor/executor_api_remote_bazel.test.cpp @@ -15,10 +15,10 @@ #include <optional> #include "catch2/catch_test_macros.hpp" +#include "src/buildtool/common/protocol_traits.hpp" #include "src/buildtool/common/remote/retry_config.hpp" #include "src/buildtool/common/repository_config.hpp" #include "src/buildtool/common/statistics.hpp" -#include "src/buildtool/compatibility/compatibility.hpp" #include "src/buildtool/crypto/hash_function.hpp" #include "src/buildtool/execution_api/remote/bazel/bazel_api.hpp" #include "src/buildtool/execution_api/remote/config.hpp" @@ -41,7 +41,7 @@ TEST_CASE("Executor<BazelApi>: Upload blob", "[executor]") { RetryConfig retry_config{}; // default retry config - HashFunction const hash_function{Compatibility::IsCompatible() + HashFunction const hash_function{ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1}; @@ -72,7 +72,7 @@ TEST_CASE("Executor<BazelApi>: Compile hello world", "[executor]") { RetryConfig retry_config{}; // default retry config - HashFunction const hash_function{Compatibility::IsCompatible() + HashFunction const hash_function{ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1}; @@ -110,7 +110,7 @@ TEST_CASE("Executor<BazelApi>: Compile greeter", "[executor]") { RetryConfig retry_config{}; // default retry config - HashFunction const hash_function{Compatibility::IsCompatible() + HashFunction const hash_function{ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1}; @@ -148,7 +148,7 @@ TEST_CASE("Executor<BazelApi>: Upload and download trees", "[executor]") { RetryConfig retry_config{}; // default retry config - HashFunction const hash_function{Compatibility::IsCompatible() + HashFunction const hash_function{ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1}; @@ -186,7 +186,7 @@ TEST_CASE("Executor<BazelApi>: Retrieve output directories", "[executor]") { RetryConfig retry_config{}; // default retry config - HashFunction const hash_function{Compatibility::IsCompatible() + HashFunction const hash_function{ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1}; diff --git a/test/buildtool/execution_engine/traverser/TARGETS b/test/buildtool/execution_engine/traverser/TARGETS index bdd7c4cc..7228b0af 100644 --- a/test/buildtool/execution_engine/traverser/TARGETS +++ b/test/buildtool/execution_engine/traverser/TARGETS @@ -7,11 +7,11 @@ , ["", "catch-main"] , ["utils", "container_matchers"] , ["@", "src", "src/buildtool/common", "common"] + , ["@", "src", "src/buildtool/common", "protocol_traits"] , ["@", "src", "src/buildtool/common", "artifact_description"] , ["@", "src", "src/buildtool/execution_engine/dag", "dag"] , ["@", "src", "src/buildtool/execution_engine/traverser", "traverser"] , ["@", "src", "src/buildtool/crypto", "hash_function"] - , ["@", "src", "src/buildtool/compatibility", "compatibility"] ] , "stage": ["test", "buildtool", "execution_engine", "traverser"] } diff --git a/test/buildtool/execution_engine/traverser/traverser.test.cpp b/test/buildtool/execution_engine/traverser/traverser.test.cpp index 70ab2465..7b2e6293 100644 --- a/test/buildtool/execution_engine/traverser/traverser.test.cpp +++ b/test/buildtool/execution_engine/traverser/traverser.test.cpp @@ -24,7 +24,7 @@ #include "catch2/catch_test_macros.hpp" #include "src/buildtool/common/artifact_description.hpp" -#include "src/buildtool/compatibility/compatibility.hpp" +#include "src/buildtool/common/protocol_traits.hpp" #include "src/buildtool/crypto/hash_function.hpp" #include "src/buildtool/execution_engine/dag/dag.hpp" #include "test/utils/container_matchers.hpp" @@ -184,7 +184,7 @@ class TestProject { auto inputs_desc = ActionDescription::inputs_t{}; if (not inputs.empty()) { command.emplace_back("FROM"); - auto const hash_type = Compatibility::IsCompatible() + auto const hash_type = ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1; for (auto const& input_desc : inputs) { diff --git a/test/buildtool/file_system/TARGETS b/test/buildtool/file_system/TARGETS index a7342221..eda8f376 100644 --- a/test/buildtool/file_system/TARGETS +++ b/test/buildtool/file_system/TARGETS @@ -62,6 +62,7 @@ , ["@", "src", "src/buildtool/common", "artifact_description"] , ["@", "src", "src/buildtool/common", "common"] , ["@", "src", "src/buildtool/common", "artifact_digest_factory"] + , ["@", "src", "src/buildtool/common", "protocol_traits"] , ["@", "src", "src/buildtool/crypto", "hash_function"] , ["@", "src", "src/buildtool/file_system", "file_root"] , ["@", "src", "src/buildtool/file_system", "file_system_manager"] diff --git a/test/buildtool/file_system/file_root.test.cpp b/test/buildtool/file_system/file_root.test.cpp index f709aa7a..1e7b9e7b 100644 --- a/test/buildtool/file_system/file_root.test.cpp +++ b/test/buildtool/file_system/file_root.test.cpp @@ -25,6 +25,7 @@ #include "src/buildtool/common/artifact_description.hpp" #include "src/buildtool/common/artifact_digest.hpp" #include "src/buildtool/common/artifact_digest_factory.hpp" +#include "src/buildtool/common/protocol_traits.hpp" #include "src/buildtool/crypto/hash_function.hpp" #include "src/buildtool/file_system/file_system_manager.hpp" #include "test/utils/container_matchers.hpp" @@ -412,7 +413,7 @@ static void CheckGitRoot(bool ignore_special) noexcept { auto const foo = root->ToArtifactDescription("baz/foo", "repo"); REQUIRE(foo); - if (Compatibility::IsCompatible()) { + if (ProtocolTraits::Instance().IsCompatible()) { auto const digest = ArtifactDigestFactory::Create(HashFunction::Type::PlainSHA256, kFooIdSha256, @@ -435,7 +436,7 @@ static void CheckGitRoot(bool ignore_special) noexcept { auto const bar = root->ToArtifactDescription("baz/bar", "repo"); REQUIRE(bar); - if (Compatibility::IsCompatible()) { + if (ProtocolTraits::Instance().IsCompatible()) { auto const digest = ArtifactDigestFactory::Create(HashFunction::Type::PlainSHA256, kBarIdSha256, diff --git a/test/buildtool/graph_traverser/TARGETS b/test/buildtool/graph_traverser/TARGETS index fcf2da20..d9dd7af6 100644 --- a/test/buildtool/graph_traverser/TARGETS +++ b/test/buildtool/graph_traverser/TARGETS @@ -7,6 +7,7 @@ , ["@", "json", "", "json"] , ["@", "src", "src/buildtool/auth", "auth"] , ["@", "src", "src/buildtool/common", "common"] + , ["@", "src", "src/buildtool/common", "protocol_traits"] , ["@", "src", "src/buildtool/common/remote", "retry_config"] , ["@", "src", "src/buildtool/execution_api/local", "config"] , ["@", "src", "src/buildtool/execution_api/local", "context"] @@ -39,6 +40,7 @@ , ["@", "src", "src/buildtool/execution_api/remote", "config"] , ["@", "src", "src/buildtool/storage", "config"] , ["@", "src", "src/buildtool/storage", "storage"] + , ["@", "src", "src/buildtool/common", "protocol_traits"] ] , "stage": ["test", "buildtool", "graph_traverser"] } @@ -56,6 +58,7 @@ , ["@", "src", "src/buildtool/storage", "storage"] , ["@", "src", "src/buildtool/storage", "config"] , ["@", "src", "src/buildtool/crypto", "hash_function"] + , ["@", "src", "src/buildtool/common", "protocol_traits"] ] , "stage": ["test", "buildtool", "graph_traverser"] } diff --git a/test/buildtool/graph_traverser/graph_traverser.test.hpp b/test/buildtool/graph_traverser/graph_traverser.test.hpp index 28ec44e0..666b905f 100644 --- a/test/buildtool/graph_traverser/graph_traverser.test.hpp +++ b/test/buildtool/graph_traverser/graph_traverser.test.hpp @@ -29,6 +29,7 @@ #include "gsl/gsl" #include "nlohmann/json.hpp" #include "src/buildtool/auth/authentication.hpp" +#include "src/buildtool/common/protocol_traits.hpp" #include "src/buildtool/common/remote/retry_config.hpp" #include "src/buildtool/common/statistics.hpp" #include "src/buildtool/execution_api/common/api_bundle.hpp" @@ -127,7 +128,7 @@ class TestProject { CommandLineArguments clargs{gtargs}; clargs.artifacts = entry_points; auto const comp_graph = root_dir_ / "graph_description_compatible"; - if (Compatibility::IsCompatible() and + if (ProtocolTraits::Instance().IsCompatible() and FileSystemManager::Exists(comp_graph)) { clargs.graph_description = comp_graph; } diff --git a/test/buildtool/graph_traverser/graph_traverser_remote.test.cpp b/test/buildtool/graph_traverser/graph_traverser_remote.test.cpp index d92b9ef9..bf3dfe02 100644 --- a/test/buildtool/graph_traverser/graph_traverser_remote.test.cpp +++ b/test/buildtool/graph_traverser/graph_traverser_remote.test.cpp @@ -13,6 +13,7 @@ // limitations under the License. #include "catch2/catch_test_macros.hpp" +#include "src/buildtool/common/protocol_traits.hpp" #include "src/buildtool/crypto/hash_function.hpp" #include "src/buildtool/execution_api/remote/config.hpp" #include "src/buildtool/storage/config.hpp" @@ -34,7 +35,7 @@ StorageConfig::Builder builder; auto config = builder.SetBuildRoot(cache_dir) - .SetHashType(Compatibility::IsCompatible() + .SetHashType(ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1) .SetRemoteExecutionArgs(remote_config.remote_address, diff --git a/test/buildtool/storage/TARGETS b/test/buildtool/storage/TARGETS index 5eeafa9a..7b58b109 100644 --- a/test/buildtool/storage/TARGETS +++ b/test/buildtool/storage/TARGETS @@ -58,6 +58,7 @@ , ["@", "src", "src/buildtool/storage", "config"] , ["utils", "test_storage_config"] , ["@", "src", "src/buildtool/common", "bazel_types"] + , ["@", "src", "src/buildtool/common", "protocol_traits"] , ["utils", "large_object_utils"] , ["@", "src", "src/utils/cpp", "tmp_dir"] , [ "@" @@ -65,7 +66,6 @@ , "src/buildtool/execution_api/bazel_msg" , "bazel_msg_factory" ] - , ["@", "src", "src/buildtool/compatibility", "compatibility"] ] , "stage": ["test", "buildtool", "storage"] } diff --git a/test/buildtool/storage/large_object_cas.test.cpp b/test/buildtool/storage/large_object_cas.test.cpp index f0644694..cbc92038 100644 --- a/test/buildtool/storage/large_object_cas.test.cpp +++ b/test/buildtool/storage/large_object_cas.test.cpp @@ -28,7 +28,7 @@ #include "catch2/catch_test_macros.hpp" #include "src/buildtool/common/bazel_types.hpp" -#include "src/buildtool/compatibility/compatibility.hpp" +#include "src/buildtool/common/protocol_traits.hpp" #include "src/buildtool/execution_api/bazel_msg/bazel_msg_factory.hpp" #include "src/buildtool/file_system/file_system_manager.hpp" #include "src/buildtool/file_system/object_type.hpp" @@ -405,7 +405,7 @@ static void TestExternal(StorageConfig const& storage_config, REQUIRE(FileSystemManager::IsFile(path)); } - if (kIsTree and not Compatibility::IsCompatible()) { + if (kIsTree and not ProtocolTraits::Instance().IsCompatible()) { // Tree invariants check is omitted in compatible mode. SECTION("Tree invariants check fails") { // Check splice fails due to the tree invariants check. @@ -606,7 +606,7 @@ TEST_CASE("LargeObjectCAS: uplink nested large objects", "[storage]") { // However, in native mode they might be reconstructed on request because // their entries are in the latest generation: - if (not Compatibility::IsCompatible()) { + if (not ProtocolTraits::Instance().IsCompatible()) { auto split_nested_tree_2 = latest.CAS().SplitTree(*nested_tree_digest); REQUIRE(split_nested_tree_2); @@ -720,7 +720,7 @@ auto Tree::StoreRaw(LocalCAS<kDefaultDoGlobalUplink> const& cas, return cas.StoreBlob(content); }; - return Compatibility::IsCompatible() + return ProtocolTraits::Instance().IsCompatible() ? BazelMsgFactory::CreateDirectoryDigestFromLocalTree( directory, store_blob, store_tree, store_symlink) : BazelMsgFactory::CreateGitTreeDigestFromLocalTree( diff --git a/test/utils/TARGETS b/test/utils/TARGETS index 9daecce8..d0a427a6 100644 --- a/test/utils/TARGETS +++ b/test/utils/TARGETS @@ -38,7 +38,7 @@ , "hdrs": ["test_env.hpp"] , "deps": [ "log_config" - , ["@", "src", "src/buildtool/compatibility", "compatibility"] + , ["@", "src", "src/buildtool/common", "protocol_traits"] , ["@", "src", "src/buildtool/auth", "auth"] ] , "stage": ["test", "utils"] @@ -54,6 +54,7 @@ , ["@", "src", "src/buildtool/storage", "config"] , ["@", "src", "src/utils/cpp", "tmp_dir"] , ["@", "src", "src/buildtool/crypto", "hash_function"] + , ["@", "src", "src/buildtool/common", "protocol_traits"] ] , "stage": ["test", "utils"] } @@ -134,7 +135,7 @@ , ["@", "src", "src/buildtool/logging", "logging"] , ["@", "src", "src/buildtool/storage", "storage"] , ["@", "src", "src/buildtool/file_system", "file_system_manager"] - , ["@", "src", "src/buildtool/compatibility", "compatibility"] + , ["@", "src", "src/buildtool/common", "protocol_traits"] , "shell_quoting" , "log_config" , "test_env" diff --git a/test/utils/hermeticity/test_storage_config.hpp b/test/utils/hermeticity/test_storage_config.hpp index 4bcbc1be..4820782f 100644 --- a/test/utils/hermeticity/test_storage_config.hpp +++ b/test/utils/hermeticity/test_storage_config.hpp @@ -21,6 +21,7 @@ #include <utility> //std::move #include "gsl/gsl" +#include "src/buildtool/common/protocol_traits.hpp" #include "src/buildtool/crypto/hash_function.hpp" #include "src/buildtool/logging/log_level.hpp" #include "src/buildtool/logging/logger.hpp" @@ -53,7 +54,7 @@ class TestStorageConfig final { StorageConfig::Builder builder; auto config = builder.SetBuildRoot(temp_dir->GetPath()) - .SetHashType(Compatibility::IsCompatible() + .SetHashType(ProtocolTraits::Instance().IsCompatible() ? HashFunction::Type::PlainSHA256 : HashFunction::Type::GitSHA1) .Build(); diff --git a/test/utils/serve_service/main-serve.cpp b/test/utils/serve_service/main-serve.cpp index 5a08eb89..2868e354 100644 --- a/test/utils/serve_service/main-serve.cpp +++ b/test/utils/serve_service/main-serve.cpp @@ -23,7 +23,7 @@ #include "catch2/catch_session.hpp" #include "catch2/catch_test_macros.hpp" -#include "src/buildtool/compatibility/compatibility.hpp" +#include "src/buildtool/common/protocol_traits.hpp" #include "src/buildtool/execution_api/remote/config.hpp" #include "src/buildtool/file_system/file_system_manager.hpp" #include "src/buildtool/logging/log_level.hpp" diff --git a/test/utils/test_env.hpp b/test/utils/test_env.hpp index 30eba26c..fc6ac739 100644 --- a/test/utils/test_env.hpp +++ b/test/utils/test_env.hpp @@ -23,7 +23,7 @@ #include <string> #include "src/buildtool/auth/authentication.hpp" -#include "src/buildtool/compatibility/compatibility.hpp" +#include "src/buildtool/common/protocol_traits.hpp" #include "test/utils/logging/log_config.hpp" [[nodiscard]] static inline auto ReadPlatformPropertiesFromEnv() @@ -43,7 +43,7 @@ static inline void ReadCompatibilityFromEnv() { auto* compatible = std::getenv("COMPATIBLE"); if (compatible != nullptr) { - Compatibility::SetCompatible(); + ProtocolTraits::Instance().SetCompatible(); } } |