Add compression tests.

This commit is contained in:
2021-10-21 05:02:52 +01:00
parent 8ca178f2e2
commit 08d0d5862d
9 changed files with 311 additions and 1 deletions

View File

@@ -76,3 +76,53 @@ TEST_F(lzipFixture, lzip)
EXPECT_EQ(crc, EXPECTED_CRC32);
}
TEST_F(lzipFixture, lzipCompress)
{
int32_t original_len = 8388608;
int32_t cmp_len = original_len;
int32_t decmp_len = original_len;
char path[PATH_MAX];
char filename[PATH_MAX * 2];
FILE* file;
uint32_t original_crc, decmp_crc;
const uint8_t* original;
uint8_t* cmp_buffer;
uint8_t* decmp_buffer;
int32_t newSize;
// Allocate buffers
original = (const uint8_t*)malloc(original_len);
cmp_buffer = (uint8_t*)malloc(cmp_len);
decmp_buffer = (uint8_t*)malloc(decmp_len);
// Read the file
getcwd(path, PATH_MAX);
snprintf(filename, PATH_MAX, "%s/data/data.bin", path);
file = fopen(filename, "rb");
fread((void*)original, 1, original_len, file);
fclose(file);
// Calculate the CRC
original_crc = crc32_data(original, original_len);
// Compress
newSize = lzip_encode_buffer(cmp_buffer, cmp_len, original, original_len, 1048576, 273);
cmp_len = newSize;
// Decompress
newSize = lzip_decode_buffer(decmp_buffer, decmp_len, cmp_buffer, cmp_len);
decmp_len = newSize;
EXPECT_EQ(decmp_len, original_len);
decmp_crc = crc32_data(decmp_buffer, decmp_len);
// Free buffers
free((void*)original);
free(cmp_buffer);
free(decmp_buffer);
EXPECT_EQ(decmp_crc, original_crc);
}