diff --git a/test/test-automation/runner.c b/test/test-automation/runner.c index 301c3fe63..c309b15f9 100644 --- a/test/test-automation/runner.c +++ b/test/test-automation/runner.c @@ -43,18 +43,18 @@ void *LoadLibrary() { return library; } -char **QueryTestCases(void *library) { - char **(*suite)(void); +TestCaseReference **QueryTestCases(void *library) { + TestCaseReference **(*suite)(void); - suite = (char **(*)(void)) SDL_LoadFunction(library, "queryTestNames"); + suite = (TestCaseReference **(*)(void)) SDL_LoadFunction(library, "QueryTestCaseReferences"); if(suite == NULL) { - printf("Quering test names failed, suite == NULL\n"); + printf("Loading QueryTestCaseReferences() failed.\n"); printf("%s\n", SDL_GetError()); } - char **tests = suite(); + TestCaseReference **tests = suite(); if(tests == NULL) { - printf("Failed to load test cases. tests == NULL\n"); + printf("Failed to load test references.\n"); printf("%s\n", SDL_GetError()); } @@ -99,7 +99,14 @@ int main(int argc, char *argv[]) { const Uint32 startTicks = SDL_GetTicks(); void *library = LoadLibrary(); - char **tests = QueryTestCases(library); + TestCaseReference **tests = QueryTestCases(library); + if(tests == NULL) { + printf("It's null\n"); + } else { + printf("It's NOT null\n"); + } + printf("%s name\n", tests[1]->name); + for(testname = tests[counter]; testname; testname = tests[++counter]) { printf("Running %s (in %s):\n", testname, libName); diff --git a/test/test-automation/tests/SDL_test.c b/test/test-automation/tests/SDL_test.c index d5de50155..6052fe2e6 100644 --- a/test/test-automation/tests/SDL_test.c +++ b/test/test-automation/tests/SDL_test.c @@ -43,7 +43,7 @@ void AssertEquals(char *message, Uint32 expected, Uint32 actual) { if(expected != actual) { - printf("\n===============================\n"); + printf("===============================\n"); printf("Assert failed: %s\n", message); printf("Expected %d, got %d\n", expected, actual); printf("===============================\n"); @@ -51,4 +51,5 @@ AssertEquals(char *message, Uint32 expected, Uint32 actual) } } + #endif diff --git a/test/test-automation/tests/SDL_test.h b/test/test-automation/tests/SDL_test.h index ceabb3a9a..5cad99080 100644 --- a/test/test-automation/tests/SDL_test.h +++ b/test/test-automation/tests/SDL_test.h @@ -23,6 +23,13 @@ #include +typedef struct TestCaseReference { + int enabled; /* Set to TEST_ENABLED or TEST_DISABLED */ + long requirements; /* Set to TEST_REQUIRES_OPENGL, TEST_REQUIRES_AUDIO, ... */ + char *name; /* "Func2Stress" */ + char *description; /* "This test beats the crap out of func2()" */ +} TestCaseReference; + void TestInit(); void TestQuit(); diff --git a/test/test-automation/tests/test.c b/test/test-automation/tests/test.c index b208fb7bd..b86f07077 100644 --- a/test/test-automation/tests/test.c +++ b/test/test-automation/tests/test.c @@ -27,10 +27,22 @@ #include "SDL_test.h" -char *names[] = {"hello", "hello2", "hello3", NULL}; +/* +TestCaseReference references[] = { + {.name = "hello", .description = "desc", .enabled = 1, .requirements = 0 } +}; +*/ -char **queryTestNames() { - return names; + +TestCaseReference *references[] = { + {"hello", "description", 1, 0}, + {"hello2", "description", 1, 0}, + NULL +}; + + +TestCaseReference **QueryTestCaseReferences() { + return references; } void hello(void *arg){