summaryrefslogtreecommitdiff
path: root/test/utils/remote_execution/bazel_action_creator.hpp
diff options
context:
space:
mode:
authorMaksim Denisov <denisov.maksim@huawei.com>2024-05-17 22:57:34 +0200
committerMaksim Denisov <denisov.maksim@huawei.com>2024-05-22 14:58:25 +0200
commit92bfbfa2f5058f1396237a99f65ac2b05e312310 (patch)
tree32aeb5545ce669ce6c09e31cf6749cc97643a81a /test/utils/remote_execution/bazel_action_creator.hpp
parentf5ce9274a6723b5eaa114bd20b246045c48b2fae (diff)
downloadjustbuild-92bfbfa2f5058f1396237a99f65ac2b05e312310.tar.gz
Avoid memory usage duplication
Diffstat (limited to 'test/utils/remote_execution/bazel_action_creator.hpp')
-rw-r--r--test/utils/remote_execution/bazel_action_creator.hpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/test/utils/remote_execution/bazel_action_creator.hpp b/test/utils/remote_execution/bazel_action_creator.hpp
index 090f6425..a0423d69 100644
--- a/test/utils/remote_execution/bazel_action_creator.hpp
+++ b/test/utils/remote_execution/bazel_action_creator.hpp
@@ -82,8 +82,16 @@
BazelCasClient cas_client(info->host, info->port);
- if (cas_client.BatchUpdateBlobs(
- instance_name, blobs.begin(), blobs.end()) == blobs.size()) {
+ std::vector<gsl::not_null<BazelBlob const*>> blob_ptrs;
+ blob_ptrs.reserve(blobs.size());
+ std::transform(blobs.begin(),
+ blobs.end(),
+ std::back_inserter(blob_ptrs),
+ [](BazelBlob const& b) { return &b; });
+
+ if (cas_client.BatchUpdateBlobs(instance_name,
+ blob_ptrs.begin(),
+ blob_ptrs.end()) == blobs.size()) {
return std::make_unique<bazel_re::Digest>(action_id);
}
return nullptr;