From a0a9df2d5530aa8acdcb22258587c3281ad2a3de Mon Sep 17 00:00:00 2001 From: Dean Lee Date: Sat, 8 Mar 2025 02:23:46 +0800 Subject: [PATCH] loggerd: enhance ZstdFileWriter test coverage with variable data sizes (#34812) enhance ZstdFileWriter test coverage --- system/loggerd/tests/test_zstd_writer.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/system/loggerd/tests/test_zstd_writer.cc b/system/loggerd/tests/test_zstd_writer.cc index f116bb2d5e..479e866a14 100644 --- a/system/loggerd/tests/test_zstd_writer.cc +++ b/system/loggerd/tests/test_zstd_writer.cc @@ -18,15 +18,21 @@ TEST_CASE("ZstdFileWriter writes and compresses data correctly in loops", "[Zstd // Step 1: Write compressed data to file in a loop { ZstdFileWriter writer(filename, LOG_COMPRESSION_LEVEL); + // Write various data sizes including edge cases + std::vector testSizes = {dataSize, 1, 0, dataSize * 2}; // Normal, minimal, empty, large for (int i = 0; i < iterations; ++i) { - std::string testData = util::random_string(dataSize); + size_t currentSize = testSizes[i % testSizes.size()]; + std::string testData = util::random_string(currentSize); totalTestData.append(testData); + writer.write((void *)testData.c_str(), testData.size()); } } // Step 2: Decompress the file and verify the data auto compressedContent = util::read_file(filename); + REQUIRE(compressedContent.size() > 0); + REQUIRE(compressedContent.size() < totalTestData.size()); std::string decompressedData = zstd_decompress(compressedContent); // Step 3: Verify that the decompressed data matches the original accumulated data