Refactor test fixture classes to use non-const pointers and modern C++ initialization

This commit is contained in:
2025-10-01 00:52:46 +01:00
parent 75c7ebfefd
commit 8542d18ef1
5 changed files with 99 additions and 134 deletions

View File

@@ -29,20 +29,16 @@
#define EXPECTED_CRC64_63BYTES 0x29F331FC90702BF4 #define EXPECTED_CRC64_63BYTES 0x29F331FC90702BF4
#define EXPECTED_CRC64_2352BYTES 0x126435DB43477623 #define EXPECTED_CRC64_2352BYTES 0x126435DB43477623
static const uint8_t *buffer; static uint8_t *buffer;
static const uint8_t *buffer_misaligned; static uint8_t *buffer_misaligned;
class crc64Fixture : public ::testing::Test class crc64Fixture : public ::testing::Test
{ {
public: public:
crc64Fixture() crc64Fixture() = default;
{
// initialization;
// can also be done in SetUp()
}
protected: protected:
void SetUp() void SetUp() override
{ {
char path[PATH_MAX]; char path[PATH_MAX];
char filename[PATH_MAX]; char filename[PATH_MAX];
@@ -51,24 +47,21 @@ protected:
snprintf(filename, PATH_MAX, "%s/data/random", path); snprintf(filename, PATH_MAX, "%s/data/random", path);
FILE *file = fopen(filename, "rb"); FILE *file = fopen(filename, "rb");
buffer = (const uint8_t *)malloc(1048576); buffer = static_cast<uint8_t *>(malloc(1048576));
fread((void *)buffer, 1, 1048576, file); fread(buffer, 1, 1048576, file);
fclose(file); fclose(file);
buffer_misaligned = (const uint8_t *)malloc(1048577); buffer_misaligned = static_cast<uint8_t *>(malloc(1048577));
memcpy((void *)(buffer_misaligned + 1), buffer, 1048576); memcpy(buffer_misaligned + 1, buffer, 1048576);
} }
void TearDown() void TearDown() override
{ {
free((void *)buffer); free(buffer);
free((void *)buffer_misaligned); free(buffer_misaligned);
} }
~crc64Fixture() ~crc64Fixture() override = default;
{
// resources cleanup, no exceptions allowed
}
// shared user data // shared user data
}; };

View File

@@ -28,19 +28,15 @@
#define EXPECTED_CRC32 0xdfbc99bb #define EXPECTED_CRC32 0xdfbc99bb
static const uint8_t *buffer; static uint8_t *buffer;
class flacFixture : public ::testing::Test class flacFixture : public ::testing::Test
{ {
public: public:
flacFixture() flacFixture() = default;
{
// initialization;
// can also be done in SetUp()
}
protected: protected:
void SetUp() void SetUp() override
{ {
char path[PATH_MAX]; char path[PATH_MAX];
char filename[PATH_MAX]; char filename[PATH_MAX];
@@ -49,24 +45,21 @@ protected:
snprintf(filename, PATH_MAX, "%s/data/flac.flac", path); snprintf(filename, PATH_MAX, "%s/data/flac.flac", path);
FILE *file = fopen(filename, "rb"); FILE *file = fopen(filename, "rb");
buffer = (const uint8_t *)malloc(6534197); buffer = static_cast<uint8_t *>(malloc(6534197));
fread((void *)buffer, 1, 6534197, file); fread(buffer, 1, 6534197, file);
fclose(file); fclose(file);
} }
void TearDown() { free((void *)buffer); } void TearDown() override { free(buffer); }
~flacFixture() ~flacFixture() override = default;
{
// resources cleanup, no exceptions allowed
}
// shared user data // shared user data
}; };
TEST_F(flacFixture, flac) TEST_F(flacFixture, flac)
{ {
auto *outBuf = (uint8_t *)malloc(9633792); auto *outBuf = static_cast<uint8_t *>(malloc(9633792));
auto decoded = aaruf_flac_decode_redbook_buffer(outBuf, 9633792, buffer, 6534197); auto decoded = aaruf_flac_decode_redbook_buffer(outBuf, 9633792, buffer, 6534197);
@@ -81,29 +74,29 @@ TEST_F(flacFixture, flac)
TEST_F(flacFixture, flacCompress) TEST_F(flacFixture, flacCompress)
{ {
size_t original_len = 9633792; size_t original_len = 9633792;
uint cmp_len = original_len; uint cmp_len = original_len;
uint decmp_len = original_len; uint decmp_len = original_len;
char path[PATH_MAX]; char path[PATH_MAX];
char filename[PATH_MAX * 2]; char filename[PATH_MAX * 2];
FILE *file; FILE *file;
uint32_t original_crc, decmp_crc; uint32_t original_crc, decmp_crc;
const uint8_t *original; uint8_t *original;
uint8_t *cmp_buffer; uint8_t *cmp_buffer;
uint8_t *decmp_buffer; uint8_t *decmp_buffer;
size_t newSize; size_t newSize;
// Allocate buffers // Allocate buffers
original = (const uint8_t *)malloc(original_len); original = static_cast<uint8_t *>(malloc(original_len));
cmp_buffer = (uint8_t *)malloc(cmp_len); cmp_buffer = static_cast<uint8_t *>(malloc(cmp_len));
decmp_buffer = (uint8_t *)malloc(decmp_len); decmp_buffer = static_cast<uint8_t *>(malloc(decmp_len));
// Read the file // Read the file
getcwd(path, PATH_MAX); getcwd(path, PATH_MAX);
snprintf(filename, PATH_MAX, "%s/data/audio.bin", path); snprintf(filename, PATH_MAX, "%s/data/audio.bin", path);
file = fopen(filename, "rb"); file = fopen(filename, "rb");
fread((void *)original, 1, original_len, file); fread(original, 1, original_len, file);
fclose(file); fclose(file);
// Calculate the CRC // Calculate the CRC
@@ -124,7 +117,7 @@ TEST_F(flacFixture, flacCompress)
decmp_crc = crc32_data(decmp_buffer, decmp_len); decmp_crc = crc32_data(decmp_buffer, decmp_len);
// Free buffers // Free buffers
free((void *)original); free(original);
free(cmp_buffer); free(cmp_buffer);
free(decmp_buffer); free(decmp_buffer);

View File

@@ -27,19 +27,15 @@
#define EXPECTED_CRC32 0x954bf76e #define EXPECTED_CRC32 0x954bf76e
static const uint8_t *buffer; static uint8_t *buffer;
class lzmaFixture : public ::testing::Test class lzmaFixture : public ::testing::Test
{ {
public: public:
lzmaFixture() lzmaFixture() = default;
{
// initialization;
// can also be done in SetUp()
}
protected: protected:
void SetUp() void SetUp() override
{ {
char path[PATH_MAX]; char path[PATH_MAX];
char filename[PATH_MAX]; char filename[PATH_MAX];
@@ -48,17 +44,14 @@ protected:
snprintf(filename, PATH_MAX, "%s/data/lzma.bin", path); snprintf(filename, PATH_MAX, "%s/data/lzma.bin", path);
FILE *file = fopen(filename, "rb"); FILE *file = fopen(filename, "rb");
buffer = (const uint8_t *)malloc(1200275); buffer = static_cast<uint8_t *>(malloc(1200275));
fread((void *)buffer, 1, 1200275, file); fread(buffer, 1, 1200275, file);
fclose(file); fclose(file);
} }
void TearDown() { free((void *)buffer); } void TearDown() override { free(buffer); }
~lzmaFixture() ~lzmaFixture() override = default;
{
// resources cleanup, no exceptions allowed
}
// shared user data // shared user data
}; };
@@ -68,7 +61,7 @@ TEST_F(lzmaFixture, lzma)
uint8_t params[] = {0x5D, 0x00, 0x00, 0x00, 0x02}; uint8_t params[] = {0x5D, 0x00, 0x00, 0x00, 0x02};
size_t destLen = 8388608; size_t destLen = 8388608;
size_t srcLen = 1200275; size_t srcLen = 1200275;
auto *outBuf = (uint8_t *)malloc(8388608); auto *outBuf = static_cast<uint8_t *>(malloc(8388608));
auto err = aaruf_lzma_decode_buffer(outBuf, &destLen, buffer, &srcLen, params, 5); auto err = aaruf_lzma_decode_buffer(outBuf, &destLen, buffer, &srcLen, params, 5);
@@ -84,31 +77,31 @@ TEST_F(lzmaFixture, lzma)
TEST_F(lzmaFixture, lzmaCompress) TEST_F(lzmaFixture, lzmaCompress)
{ {
size_t original_len = 8388608; size_t original_len = 8388608;
size_t cmp_len = original_len; size_t cmp_len = original_len;
size_t decmp_len = original_len; size_t decmp_len = original_len;
char path[PATH_MAX]; char path[PATH_MAX];
char filename[PATH_MAX * 2]; char filename[PATH_MAX * 2];
FILE *file; FILE *file;
uint32_t original_crc, decmp_crc; uint32_t original_crc, decmp_crc;
const uint8_t *original; uint8_t *original;
uint8_t *cmp_buffer; uint8_t *cmp_buffer;
uint8_t *decmp_buffer; uint8_t *decmp_buffer;
int err; int err;
uint8_t props[5]; uint8_t props[5];
size_t props_len = 5; size_t props_len = 5;
// Allocate buffers // Allocate buffers
original = (const uint8_t *)malloc(original_len); original = static_cast<uint8_t *>(malloc(original_len));
cmp_buffer = (uint8_t *)malloc(cmp_len); cmp_buffer = static_cast<uint8_t *>(malloc(cmp_len));
decmp_buffer = (uint8_t *)malloc(decmp_len); decmp_buffer = static_cast<uint8_t *>(malloc(decmp_len));
// Read the file // Read the file
getcwd(path, PATH_MAX); getcwd(path, PATH_MAX);
snprintf(filename, PATH_MAX, "%s/data/data.bin", path); snprintf(filename, PATH_MAX, "%s/data/data.bin", path);
file = fopen(filename, "rb"); file = fopen(filename, "rb");
fread((void *)original, 1, original_len, file); fread(original, 1, original_len, file);
fclose(file); fclose(file);
// Calculate the CRC // Calculate the CRC
@@ -128,7 +121,7 @@ TEST_F(lzmaFixture, lzmaCompress)
decmp_crc = crc32_data(decmp_buffer, decmp_len); decmp_crc = crc32_data(decmp_buffer, decmp_len);
// Free buffers // Free buffers
free((void *)original); free(original);
free(cmp_buffer); free(cmp_buffer);
free(decmp_buffer); free(decmp_buffer);

View File

@@ -24,7 +24,7 @@
#include "gtest/gtest.h" #include "gtest/gtest.h"
static const uint8_t *buffer; static uint8_t *buffer;
unsigned char expected_sha256[SHA256_DIGEST_LENGTH] = {0x4d, 0x1a, 0x6b, 0x8a, 0x54, 0x67, 0x00, 0xc4, 0x8e, 0xda, 0x70, unsigned char expected_sha256[SHA256_DIGEST_LENGTH] = {0x4d, 0x1a, 0x6b, 0x8a, 0x54, 0x67, 0x00, 0xc4, 0x8e, 0xda, 0x70,
0xd3, 0x39, 0x1c, 0x8f, 0x15, 0x8a, 0x8d, 0x12, 0xb2, 0x38, 0x92, 0xd3, 0x39, 0x1c, 0x8f, 0x15, 0x8a, 0x8d, 0x12, 0xb2, 0x38, 0x92,
@@ -33,14 +33,10 @@ unsigned char expected_sha256[SHA256_DIGEST_LENGTH] = {0x4d, 0x1a, 0x6b, 0x8a, 0
class sha256Fixture : public ::testing::Test class sha256Fixture : public ::testing::Test
{ {
public: public:
sha256Fixture() sha256Fixture() = default;
{
// initialization;
// can also be done in SetUp()
}
protected: protected:
void SetUp() void SetUp() override
{ {
char path[PATH_MAX]; char path[PATH_MAX];
char filename[PATH_MAX]; char filename[PATH_MAX];
@@ -49,17 +45,14 @@ protected:
snprintf(filename, PATH_MAX, "%s/data/random", path); snprintf(filename, PATH_MAX, "%s/data/random", path);
FILE *file = fopen(filename, "rb"); FILE *file = fopen(filename, "rb");
buffer = (const uint8_t *)malloc(1048576); buffer = static_cast<uint8_t *>(malloc(1048576));
fread((void *)buffer, 1, 1048576, file); fread(buffer, 1, 1048576, file);
fclose(file); fclose(file);
} }
void TearDown() { free((void *)buffer); } void TearDown() override { free(buffer); }
~sha256Fixture() ~sha256Fixture() override = default;
{
// resources cleanup, no exceptions allowed
}
// shared user data // shared user data
}; };

View File

@@ -29,20 +29,16 @@
#define EXPECTED_SPAMSUM_63BYTES "3:Ac4E9E5+S09q2kABV9:Ac4E9EgSs7kW9" #define EXPECTED_SPAMSUM_63BYTES "3:Ac4E9E5+S09q2kABV9:Ac4E9EgSs7kW9"
#define EXPECTED_SPAMSUM_2352BYTES "48:pasCLoANDXmjCz1p2OpPm+Gek3xmZfJJ5DD4BacmmlodQMQa/58Z:csK1Nxz7XFGeJS/flHMQu2Z" #define EXPECTED_SPAMSUM_2352BYTES "48:pasCLoANDXmjCz1p2OpPm+Gek3xmZfJJ5DD4BacmmlodQMQa/58Z:csK1Nxz7XFGeJS/flHMQu2Z"
static const uint8_t *buffer; static uint8_t *buffer;
static const uint8_t *buffer_misaligned; static uint8_t *buffer_misaligned;
class spamsumFixture : public ::testing::Test class spamsumFixture : public ::testing::Test
{ {
public: public:
spamsumFixture() spamsumFixture() = default;
{
// initialization;
// can also be done in SetUp()
}
protected: protected:
void SetUp() void SetUp() override
{ {
char path[PATH_MAX]; char path[PATH_MAX];
char filename[PATH_MAX]; char filename[PATH_MAX];
@@ -51,24 +47,21 @@ protected:
snprintf(filename, PATH_MAX, "%s/data/random", path); snprintf(filename, PATH_MAX, "%s/data/random", path);
FILE *file = fopen(filename, "rb"); FILE *file = fopen(filename, "rb");
buffer = (const uint8_t *)malloc(1048576); buffer = static_cast<uint8_t *>(malloc(1048576));
fread((void *)buffer, 1, 1048576, file); fread(buffer, 1, 1048576, file);
fclose(file); fclose(file);
buffer_misaligned = (const uint8_t *)malloc(1048577); buffer_misaligned = static_cast<uint8_t *>(malloc(1048577));
memcpy((void *)(buffer_misaligned + 1), buffer, 1048576); memcpy(buffer_misaligned + 1, buffer, 1048576);
} }
void TearDown() void TearDown() override
{ {
free((void *)buffer); free(buffer);
free((void *)buffer_misaligned); free(buffer_misaligned);
} }
~spamsumFixture() ~spamsumFixture() override = default;
{
// resources cleanup, no exceptions allowed
}
// shared user data // shared user data
}; };
@@ -76,101 +69,101 @@ protected:
TEST_F(spamsumFixture, spamsum_auto) TEST_F(spamsumFixture, spamsum_auto)
{ {
spamsum_ctx *ctx = aaruf_spamsum_init(); spamsum_ctx *ctx = aaruf_spamsum_init();
const char *spamsum = (const char *)malloc(FUZZY_MAX_RESULT); char *spamsum = static_cast<char *>(malloc(FUZZY_MAX_RESULT));
EXPECT_NE(ctx, nullptr); EXPECT_NE(ctx, nullptr);
EXPECT_NE(spamsum, nullptr); EXPECT_NE(spamsum, nullptr);
aaruf_spamsum_update(ctx, buffer, 1048576); aaruf_spamsum_update(ctx, buffer, 1048576);
aaruf_spamsum_final(ctx, (uint8_t *)spamsum); aaruf_spamsum_final(ctx, reinterpret_cast<uint8_t *>(spamsum));
aaruf_spamsum_free(ctx); aaruf_spamsum_free(ctx);
EXPECT_STREQ(spamsum, EXPECTED_SPAMSUM); EXPECT_STREQ(spamsum, EXPECTED_SPAMSUM);
free((void *)spamsum); free(spamsum);
} }
TEST_F(spamsumFixture, spamsum_auto_misaligned) TEST_F(spamsumFixture, spamsum_auto_misaligned)
{ {
spamsum_ctx *ctx = aaruf_spamsum_init(); spamsum_ctx *ctx = aaruf_spamsum_init();
const char *spamsum = (const char *)malloc(FUZZY_MAX_RESULT); char *spamsum = static_cast<char *>(malloc(FUZZY_MAX_RESULT));
EXPECT_NE(ctx, nullptr); EXPECT_NE(ctx, nullptr);
EXPECT_NE(spamsum, nullptr); EXPECT_NE(spamsum, nullptr);
aaruf_spamsum_update(ctx, buffer_misaligned + 1, 1048576); aaruf_spamsum_update(ctx, buffer_misaligned + 1, 1048576);
aaruf_spamsum_final(ctx, (uint8_t *)spamsum); aaruf_spamsum_final(ctx, reinterpret_cast<uint8_t *>(spamsum));
aaruf_spamsum_free(ctx); aaruf_spamsum_free(ctx);
EXPECT_STREQ(spamsum, EXPECTED_SPAMSUM); EXPECT_STREQ(spamsum, EXPECTED_SPAMSUM);
free((void *)spamsum); free(spamsum);
} }
TEST_F(spamsumFixture, spamsum_auto_15bytes) TEST_F(spamsumFixture, spamsum_auto_15bytes)
{ {
spamsum_ctx *ctx = aaruf_spamsum_init(); spamsum_ctx *ctx = aaruf_spamsum_init();
const char *spamsum = (const char *)malloc(FUZZY_MAX_RESULT); char *spamsum = static_cast<char *>(malloc(FUZZY_MAX_RESULT));
EXPECT_NE(ctx, nullptr); EXPECT_NE(ctx, nullptr);
EXPECT_NE(spamsum, nullptr); EXPECT_NE(spamsum, nullptr);
aaruf_spamsum_update(ctx, buffer, 15); aaruf_spamsum_update(ctx, buffer, 15);
aaruf_spamsum_final(ctx, (uint8_t *)spamsum); aaruf_spamsum_final(ctx, reinterpret_cast<uint8_t *>(spamsum));
aaruf_spamsum_free(ctx); aaruf_spamsum_free(ctx);
EXPECT_STREQ(spamsum, EXPECTED_SPAMSUM_15BYTES); EXPECT_STREQ(spamsum, EXPECTED_SPAMSUM_15BYTES);
free((void *)spamsum); free(spamsum);
} }
TEST_F(spamsumFixture, spamsum_auto_31bytes) TEST_F(spamsumFixture, spamsum_auto_31bytes)
{ {
spamsum_ctx *ctx = aaruf_spamsum_init(); spamsum_ctx *ctx = aaruf_spamsum_init();
const char *spamsum = (const char *)malloc(FUZZY_MAX_RESULT); char *spamsum = static_cast<char *>(malloc(FUZZY_MAX_RESULT));
EXPECT_NE(ctx, nullptr); EXPECT_NE(ctx, nullptr);
EXPECT_NE(spamsum, nullptr); EXPECT_NE(spamsum, nullptr);
aaruf_spamsum_update(ctx, buffer, 31); aaruf_spamsum_update(ctx, buffer, 31);
aaruf_spamsum_final(ctx, (uint8_t *)spamsum); aaruf_spamsum_final(ctx, reinterpret_cast<uint8_t *>(spamsum));
aaruf_spamsum_free(ctx); aaruf_spamsum_free(ctx);
EXPECT_STREQ(spamsum, EXPECTED_SPAMSUM_31BYTES); EXPECT_STREQ(spamsum, EXPECTED_SPAMSUM_31BYTES);
free((void *)spamsum); free(spamsum);
} }
TEST_F(spamsumFixture, spamsum_auto_63bytes) TEST_F(spamsumFixture, spamsum_auto_63bytes)
{ {
spamsum_ctx *ctx = aaruf_spamsum_init(); spamsum_ctx *ctx = aaruf_spamsum_init();
const char *spamsum = (const char *)malloc(FUZZY_MAX_RESULT); char *spamsum = static_cast<char *>(malloc(FUZZY_MAX_RESULT));
EXPECT_NE(ctx, nullptr); EXPECT_NE(ctx, nullptr);
EXPECT_NE(spamsum, nullptr); EXPECT_NE(spamsum, nullptr);
aaruf_spamsum_update(ctx, buffer, 63); aaruf_spamsum_update(ctx, buffer, 63);
aaruf_spamsum_final(ctx, (uint8_t *)spamsum); aaruf_spamsum_final(ctx, reinterpret_cast<uint8_t *>(spamsum));
aaruf_spamsum_free(ctx); aaruf_spamsum_free(ctx);
EXPECT_STREQ(spamsum, EXPECTED_SPAMSUM_63BYTES); EXPECT_STREQ(spamsum, EXPECTED_SPAMSUM_63BYTES);
free((void *)spamsum); free(spamsum);
} }
TEST_F(spamsumFixture, spamsum_auto_2352bytes) TEST_F(spamsumFixture, spamsum_auto_2352bytes)
{ {
spamsum_ctx *ctx = aaruf_spamsum_init(); spamsum_ctx *ctx = aaruf_spamsum_init();
const char *spamsum = (const char *)malloc(FUZZY_MAX_RESULT); char *spamsum = static_cast<char *>(malloc(FUZZY_MAX_RESULT));
EXPECT_NE(ctx, nullptr); EXPECT_NE(ctx, nullptr);
EXPECT_NE(spamsum, nullptr); EXPECT_NE(spamsum, nullptr);
aaruf_spamsum_update(ctx, buffer, 2352); aaruf_spamsum_update(ctx, buffer, 2352);
aaruf_spamsum_final(ctx, (uint8_t *)spamsum); aaruf_spamsum_final(ctx, reinterpret_cast<uint8_t *>(spamsum));
aaruf_spamsum_free(ctx); aaruf_spamsum_free(ctx);
EXPECT_STREQ(spamsum, EXPECTED_SPAMSUM_2352BYTES); EXPECT_STREQ(spamsum, EXPECTED_SPAMSUM_2352BYTES);
free((void *)spamsum); free(spamsum);
} }