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

View File

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

View File

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

View File

@@ -24,7 +24,7 @@
#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,
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
{
public:
sha256Fixture()
{
// initialization;
// can also be done in SetUp()
}
sha256Fixture() = default;
protected:
void SetUp()
void SetUp() override
{
char path[PATH_MAX];
char filename[PATH_MAX];
@@ -49,17 +45,14 @@ protected:
snprintf(filename, PATH_MAX, "%s/data/random", path);
FILE *file = fopen(filename, "rb");
buffer = (const uint8_t *)malloc(1048576);
fread((void *)buffer, 1, 1048576, file);
buffer = static_cast<uint8_t *>(malloc(1048576));
fread(buffer, 1, 1048576, file);
fclose(file);
}
void TearDown() { free((void *)buffer); }
void TearDown() override { free(buffer); }
~sha256Fixture()
{
// resources cleanup, no exceptions allowed
}
~sha256Fixture() override = default;
// shared user data
};

View File

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