summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlberto Sartori <alberto.sartori@huawei.com>2023-12-20 16:52:23 +0100
committerAlberto Sartori <alberto.sartori@huawei.com>2023-12-21 10:11:11 +0100
commit8ee25f5ac4b1ecda1d5ce262fc48ad0c0e03a308 (patch)
treec54faf42ee85909dc4459ce6bdc6e44cddce33b4
parent6c8230f3e3f48c7d02d7f885eeadfefe8545839f (diff)
downloadjustbuild-8ee25f5ac4b1ecda1d5ce262fc48ad0c0e03a308.tar.gz
BazelCasClient::DoUploadBlobs: returns the count of the uploaded blobs...
...instead of the vector containing the digests of the uploaded blobs. The returned vector was never inspected by the callers, except for its size. The tests have been accordingly amended.
-rw-r--r--src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp16
-rw-r--r--src/buildtool/execution_api/remote/bazel/bazel_cas_client.hpp9
-rw-r--r--src/buildtool/execution_api/remote/bazel/bazel_network.cpp4
-rw-r--r--test/buildtool/execution_api/bazel/bazel_cas_client.test.cpp12
-rw-r--r--test/utils/remote_execution/bazel_action_creator.hpp4
5 files changed, 19 insertions, 26 deletions
diff --git a/src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp b/src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp
index 70ff27c4..36265890 100644
--- a/src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp
+++ b/src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp
@@ -128,16 +128,14 @@ auto BazelCasClient::FindMissingBlobs(
auto BazelCasClient::BatchUpdateBlobs(
std::string const& instance_name,
std::vector<BazelBlob>::const_iterator const& begin,
- std::vector<BazelBlob>::const_iterator const& end) noexcept
- -> std::vector<bazel_re::Digest> {
+ std::vector<BazelBlob>::const_iterator const& end) noexcept -> std::size_t {
return DoBatchUpdateBlobs(instance_name, begin, end);
}
auto BazelCasClient::BatchUpdateBlobs(
std::string const& instance_name,
BlobContainer::iterator const& begin,
- BlobContainer::iterator const& end) noexcept
- -> std::vector<bazel_re::Digest> {
+ BlobContainer::iterator const& end) noexcept -> std::size_t {
return DoBatchUpdateBlobs(instance_name, begin, end);
}
@@ -145,7 +143,7 @@ auto BazelCasClient::BatchUpdateBlobs(
std::string const& instance_name,
BlobContainer::RelatedBlobList::iterator const& begin,
BlobContainer::RelatedBlobList::iterator const& end) noexcept
- -> std::vector<bazel_re::Digest> {
+ -> std::size_t {
return DoBatchUpdateBlobs(instance_name, begin, end);
}
@@ -401,11 +399,11 @@ template <class T_OutputIter>
auto BazelCasClient::DoBatchUpdateBlobs(std::string const& instance_name,
T_OutputIter const& start,
T_OutputIter const& end) noexcept
- -> std::vector<bazel_re::Digest> {
- std::vector<bazel_re::Digest> result;
+ -> std::size_t {
if (start == end) {
- return result;
+ return 0;
}
+ std::vector<bazel_re::Digest> result;
try {
auto requests =
CreateBatchRequestsMaxSize<bazel_re::BatchUpdateBlobsRequest>(
@@ -476,7 +474,7 @@ auto BazelCasClient::DoBatchUpdateBlobs(std::string const& instance_name,
return oss.str();
});
- return result;
+ return result.size();
}
namespace detail {
diff --git a/src/buildtool/execution_api/remote/bazel/bazel_cas_client.hpp b/src/buildtool/execution_api/remote/bazel/bazel_cas_client.hpp
index 51cfbb50..c2567472 100644
--- a/src/buildtool/execution_api/remote/bazel/bazel_cas_client.hpp
+++ b/src/buildtool/execution_api/remote/bazel/bazel_cas_client.hpp
@@ -64,7 +64,7 @@ class BazelCasClient {
std::string const& instance_name,
std::vector<BazelBlob>::const_iterator const& begin,
std::vector<BazelBlob>::const_iterator const& end) noexcept
- -> std::vector<bazel_re::Digest>;
+ -> std::size_t;
/// \brief Upload multiple blobs in batch transfer
/// \param[in] instance_name Name of the CAS instance
@@ -74,8 +74,7 @@ class BazelCasClient {
[[nodiscard]] auto BatchUpdateBlobs(
std::string const& instance_name,
BlobContainer::iterator const& begin,
- BlobContainer::iterator const& end) noexcept
- -> std::vector<bazel_re::Digest>;
+ BlobContainer::iterator const& end) noexcept -> std::size_t;
/// \brief Upload multiple blobs in batch transfer
/// \param[in] instance_name Name of the CAS instance
@@ -86,7 +85,7 @@ class BazelCasClient {
std::string const& instance_name,
BlobContainer::RelatedBlobList::iterator const& begin,
BlobContainer::RelatedBlobList::iterator const& end) noexcept
- -> std::vector<bazel_re::Digest>;
+ -> std::size_t;
/// \brief Read multiple blobs in batch transfer
/// \param[in] instance_name Name of the CAS instance
@@ -152,7 +151,7 @@ class BazelCasClient {
[[nodiscard]] auto DoBatchUpdateBlobs(std::string const& instance_name,
T_OutputIter const& start,
T_OutputIter const& end) noexcept
- -> std::vector<bazel_re::Digest>;
+ -> std::size_t;
template <typename T_Request, typename T_ForwardIter>
[[nodiscard]] auto CreateBatchRequestsMaxSize(
diff --git a/src/buildtool/execution_api/remote/bazel/bazel_network.cpp b/src/buildtool/execution_api/remote/bazel/bazel_network.cpp
index d6a5f78d..223960cb 100644
--- a/src/buildtool/execution_api/remote/bazel/bazel_network.cpp
+++ b/src/buildtool/execution_api/remote/bazel/bazel_network.cpp
@@ -174,10 +174,10 @@ auto BazelNetwork::DoUploadBlobs(T_Iter const& first,
sorted.begin(), sorted.end(), [](auto const& x) {
return x.data.size() <= kMaxBatchTransferSize;
});
- auto digests =
+ auto digests_count =
cas_->BatchUpdateBlobs(instance_name_, sorted.begin(), it);
- return digests.size() == std::distance(sorted.begin(), it) &&
+ return digests_count == std::distance(sorted.begin(), it) &&
std::all_of(it, sorted.end(), [this](auto const& x) {
return cas_->UpdateSingleBlob(instance_name_, x);
});
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 8d21dbb3..d120360b 100644
--- a/test/buildtool/execution_api/bazel/bazel_cas_client.test.cpp
+++ b/test/buildtool/execution_api/bazel/bazel_cas_client.test.cpp
@@ -42,10 +42,8 @@ TEST_CASE("Bazel internals: CAS Client", "[execution_api]") {
if (!digests.empty()) {
// Upload blob, if not found
std::vector<BazelBlob> to_upload{blob};
- CHECK(cas_client
- .BatchUpdateBlobs(
- instance_name, to_upload.begin(), to_upload.end())
- .size() == 1);
+ CHECK(cas_client.BatchUpdateBlobs(
+ instance_name, to_upload.begin(), to_upload.end()) == 1U);
}
// Read blob
@@ -73,10 +71,8 @@ TEST_CASE("Bazel internals: CAS Client", "[execution_api]") {
// Try upload faulty blob
std::vector<BazelBlob> to_upload{faulty_blob};
- CHECK(cas_client
- .BatchUpdateBlobs(
- instance_name, to_upload.begin(), to_upload.end())
- .empty());
+ CHECK(cas_client.BatchUpdateBlobs(
+ instance_name, to_upload.begin(), to_upload.end()) == 0U);
// Read blob via faulty digest
std::vector<bazel_re::Digest> to_read{faulty_digest};
diff --git a/test/utils/remote_execution/bazel_action_creator.hpp b/test/utils/remote_execution/bazel_action_creator.hpp
index 0ee251c8..1fdc86c2 100644
--- a/test/utils/remote_execution/bazel_action_creator.hpp
+++ b/test/utils/remote_execution/bazel_action_creator.hpp
@@ -79,8 +79,8 @@
BazelCasClient cas_client(info->host, info->port);
- if (cas_client.BatchUpdateBlobs(instance_name, blobs.begin(), blobs.end())
- .size() == blobs.size()) {
+ if (cas_client.BatchUpdateBlobs(
+ instance_name, blobs.begin(), blobs.end()) == blobs.size()) {
return std::make_unique<bazel_re::Digest>(action_id);
}
return nullptr;