SDL_test: pass data pointer to unit tests

This commit is contained in:
Anonymous Maarten 2024-09-01 17:51:04 +02:00 committed by Anonymous Maarten
parent 741c04b339
commit 2f4b2df595
9 changed files with 12 additions and 11 deletions

View File

@ -63,7 +63,7 @@ extern "C" {
#define TEST_RESULT_SETUP_FAILURE 4 #define TEST_RESULT_SETUP_FAILURE 4
/* !< Function pointer to a test case setup function (run before every test) */ /* !< Function pointer to a test case setup function (run before every test) */
typedef void (*SDLTest_TestCaseSetUpFp)(void *arg); typedef void (*SDLTest_TestCaseSetUpFp)(void **arg);
/* !< Function pointer to a test case function */ /* !< Function pointer to a test case function */
typedef int (*SDLTest_TestCaseFp)(void *arg); typedef int (*SDLTest_TestCaseFp)(void *arg);

View File

@ -237,6 +237,7 @@ static int SDLTest_RunTest(SDLTest_TestSuiteReference *testSuite, const SDLTest_
int testCaseResult = 0; int testCaseResult = 0;
int testResult = 0; int testResult = 0;
int fuzzerCount; int fuzzerCount;
void *data = NULL;
if (!testSuite || !testCase || !testSuite->name || !testCase->name) { if (!testSuite || !testCase || !testSuite->name || !testCase->name) {
SDLTest_LogError("Setup failure: testSuite or testCase references NULL"); SDLTest_LogError("Setup failure: testSuite or testCase references NULL");
@ -259,7 +260,7 @@ static int SDLTest_RunTest(SDLTest_TestSuiteReference *testSuite, const SDLTest_
/* Maybe run suite initializer function */ /* Maybe run suite initializer function */
if (testSuite->testSetUp) { if (testSuite->testSetUp) {
testSuite->testSetUp(0x0); testSuite->testSetUp(&data);
if (SDLTest_AssertSummaryToTestResult() == TEST_RESULT_FAILED) { if (SDLTest_AssertSummaryToTestResult() == TEST_RESULT_FAILED) {
SDLTest_LogError(SDLTEST_FINAL_RESULT_FORMAT, "Suite Setup", testSuite->name, COLOR_RED "Failed" COLOR_END); SDLTest_LogError(SDLTEST_FINAL_RESULT_FORMAT, "Suite Setup", testSuite->name, COLOR_RED "Failed" COLOR_END);
return TEST_RESULT_SETUP_FAILURE; return TEST_RESULT_SETUP_FAILURE;
@ -267,7 +268,7 @@ static int SDLTest_RunTest(SDLTest_TestSuiteReference *testSuite, const SDLTest_
} }
/* Run test case function */ /* Run test case function */
testCaseResult = testCase->testCase(0x0); testCaseResult = testCase->testCase(data);
/* Convert test execution result into harness result */ /* Convert test execution result into harness result */
if (testCaseResult == TEST_SKIPPED) { if (testCaseResult == TEST_SKIPPED) {
@ -286,7 +287,7 @@ static int SDLTest_RunTest(SDLTest_TestSuiteReference *testSuite, const SDLTest_
/* Maybe run suite cleanup function (ignore failed asserts) */ /* Maybe run suite cleanup function (ignore failed asserts) */
if (testSuite->testTearDown) { if (testSuite->testTearDown) {
testSuite->testTearDown(0x0); testSuite->testTearDown(data);
} }
/* Cancel timeout timer */ /* Cancel timeout timer */

View File

@ -19,7 +19,7 @@
/* Fixture */ /* Fixture */
static void audioSetUp(void *arg) static void audioSetUp(void **arg)
{ {
/* Start SDL audio subsystem */ /* Start SDL audio subsystem */
SDL_bool ret = SDL_InitSubSystem(SDL_INIT_AUDIO); SDL_bool ret = SDL_InitSubSystem(SDL_INIT_AUDIO);

View File

@ -40,7 +40,7 @@ Uint32 getRandomUint32() {
/* /*
* Resets PRNG state to initialize tests using PRNG * Resets PRNG state to initialize tests using PRNG
*/ */
void blitSetUp(void *arg) { void blitSetUp(void **arg) {
rngState[0] = 1; rngState[0] = 1;
rngState[1] = 2; rngState[1] = 2;
} }

View File

@ -32,7 +32,7 @@ static const char IOStreamAlphabetString[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
/* Fixture */ /* Fixture */
static void IOStreamSetUp(void *arg) static void IOStreamSetUp(void **arg)
{ {
size_t fileLen; size_t fileLen;
FILE *handle; FILE *handle;

View File

@ -44,7 +44,7 @@ static SDL_bool hasDrawColor(void);
/** /**
* Create software renderer for tests * Create software renderer for tests
*/ */
static void InitCreateRenderer(void *arg) static void InitCreateRenderer(void **arg)
{ {
int width = 320, height = 240; int width = 320, height = 240;
const char *renderer_name = NULL; const char *renderer_name = NULL;

View File

@ -9,7 +9,7 @@
/* Fixture */ /* Fixture */
static void subsystemsSetUp(void *arg) static void subsystemsSetUp(void **arg)
{ {
/* Reset each one of the SDL subsystems */ /* Reset each one of the SDL subsystems */
/* CHECKME: can we use SDL_Quit here, or this will break the flow of tests? */ /* CHECKME: can we use SDL_Quit here, or this will break the flow of tests? */

View File

@ -41,7 +41,7 @@ static SDL_Surface *testSurface = NULL;
/* Fixture */ /* Fixture */
/* Create a 32-bit writable surface for blitting tests */ /* Create a 32-bit writable surface for blitting tests */
static void surfaceSetUp(void *arg) static void surfaceSetUp(void **arg)
{ {
int result; int result;
SDL_BlendMode blendMode = SDL_BLENDMODE_NONE; SDL_BlendMode blendMode = SDL_BLENDMODE_NONE;

View File

@ -20,7 +20,7 @@ static int g_timerCallbackCalled = 0;
/* Fixture */ /* Fixture */
static void timerSetUp(void *arg) static void timerSetUp(void **arg)
{ {
/* Start SDL timer subsystem */ /* Start SDL timer subsystem */
SDL_bool ret = SDL_InitSubSystem(SDL_INIT_TIMER); SDL_bool ret = SDL_InitSubSystem(SDL_INIT_TIMER);