| /// Copyright 2020 The Fuchsia Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| #ifndef SRC_LIB_CHUNKED_COMPRESSION_TEST_UTILS_H_ | |
| #define SRC_LIB_CHUNKED_COMPRESSION_TEST_UTILS_H_ | |
| #include <stdint.h> | |
| #include <initializer_list> | |
| #include <fbl/array.h> | |
| #include <src/lib/chunked-compression/chunked-archive.h> | |
| namespace chunked_compression { | |
| namespace test_utils { | |
| // Computes the checksum for a raw archive header. | |
| // |header_length| must be at least kChunkArchiveMinHeaderSize bytes. | |
| uint32_t ComputeChecksum(const uint8_t* header, size_t header_length); | |
| // Serializes a well formed seek table with |entries| to a buffer. | |
| // The seek table invariants are *NOT* checked. This is intentional to catch | |
| // HeaderReader::Parse bugs in the test cases. | |
| fbl::Array<uint8_t> CreateHeader(std::initializer_list<SeekTableEntry> entries); | |
| inline fbl::Array<uint8_t> CreateHeader() { return CreateHeader({}); } | |
| } // namespace test_utils | |
| } // namespace chunked_compression | |
| #endif // SRC_LIB_CHUNKED_COMPRESSION_TEST_UTILS_H_ |