aboutsummaryrefslogtreecommitdiff
path: root/test_utils.h
diff options
context:
space:
mode:
authorEtienne Pierre-Doray <etiennep@chromium.org>2018-07-25 20:16:02 +0000
committerCopybara-Service <copybara-worker@google.com>2021-07-25 20:33:17 -0700
commita88cad0485f1c73d63ba0a1bcfccc8a68bd300c6 (patch)
treea1e2e0302064526dd50280e84651979b656f0ad2 /test_utils.h
parentae27d8ed0116c53fb530b141e96df91e90c3671c (diff)
downloadzucchini-a88cad0485f1c73d63ba0a1bcfccc8a68bd300c6.tar.gz
[Zucchini] Create elf types and utils.
Creates types and utility class to manipulate ELF header format and relocation references. BufferView: :modify() was also added. Change-Id: Iacec212a2fb2f8a6c85d551eed4b8e0a84926d89 Reviewed-on: https://chromium-review.googlesource.com/1136846 Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org> Reviewed-by: Greg Thompson <grt@chromium.org> Reviewed-by: Samuel Huang <huangs@chromium.org> Cr-Commit-Position: refs/heads/master@{#578034} NOKEYCHECK=True GitOrigin-RevId: 320f7d9d2cff9702e632af296867bf6ce7b14f8b
Diffstat (limited to 'test_utils.h')
-rw-r--r--test_utils.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/test_utils.h b/test_utils.h
index 7ed735d..e922343 100644
--- a/test_utils.h
+++ b/test_utils.h
@@ -15,6 +15,21 @@ namespace zucchini {
// Parses space-separated list of byte hex values into list.
std::vector<uint8_t> ParseHexString(const std::string& hex_string);
+// Returns a vector that's the contatenation of two vectors of the same type.
+// Elements are copied by value.
+template <class T>
+std::vector<T> Cat(const std::vector<T>& a, const std::vector<T>& b) {
+ std::vector<T> ret(a);
+ ret.insert(ret.end(), b.begin(), b.end());
+ return ret;
+}
+
+// Returns a subvector of a vector. Elements are copied by value.
+template <class T>
+std::vector<T> Sub(const std::vector<T>& a, size_t lo, size_t hi) {
+ return std::vector<T>(a.begin() + lo, a.begin() + hi);
+}
+
} // namespace zucchini
#endif // COMPONENTS_ZUCCHINI_TEST_UTILS_H_