Commit ff1e17dc authored by Markus Kauppila's avatar Markus Kauppila

Added TestCaseReference structure.

parent d6d8dec0
...@@ -43,18 +43,18 @@ void *LoadLibrary() { ...@@ -43,18 +43,18 @@ void *LoadLibrary() {
return library; return library;
} }
char **QueryTestCases(void *library) { TestCaseReference **QueryTestCases(void *library) {
char **(*suite)(void); TestCaseReference **(*suite)(void);
suite = (char **(*)(void)) SDL_LoadFunction(library, "queryTestNames"); suite = (TestCaseReference **(*)(void)) SDL_LoadFunction(library, "QueryTestCaseReferences");
if(suite == NULL) { if(suite == NULL) {
printf("Quering test names failed, suite == NULL\n"); printf("Loading QueryTestCaseReferences() failed.\n");
printf("%s\n", SDL_GetError()); printf("%s\n", SDL_GetError());
} }
char **tests = suite(); TestCaseReference **tests = suite();
if(tests == NULL) { if(tests == NULL) {
printf("Failed to load test cases. tests == NULL\n"); printf("Failed to load test references.\n");
printf("%s\n", SDL_GetError()); printf("%s\n", SDL_GetError());
} }
...@@ -99,7 +99,14 @@ int main(int argc, char *argv[]) { ...@@ -99,7 +99,14 @@ int main(int argc, char *argv[]) {
const Uint32 startTicks = SDL_GetTicks(); const Uint32 startTicks = SDL_GetTicks();
void *library = LoadLibrary(); 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]) { for(testname = tests[counter]; testname; testname = tests[++counter]) {
printf("Running %s (in %s):\n", testname, libName); printf("Running %s (in %s):\n", testname, libName);
......
...@@ -43,7 +43,7 @@ void ...@@ -43,7 +43,7 @@ void
AssertEquals(char *message, Uint32 expected, Uint32 actual) AssertEquals(char *message, Uint32 expected, Uint32 actual)
{ {
if(expected != actual) { if(expected != actual) {
printf("\n===============================\n"); printf("===============================\n");
printf("Assert failed: %s\n", message); printf("Assert failed: %s\n", message);
printf("Expected %d, got %d\n", expected, actual); printf("Expected %d, got %d\n", expected, actual);
printf("===============================\n"); printf("===============================\n");
...@@ -51,4 +51,5 @@ AssertEquals(char *message, Uint32 expected, Uint32 actual) ...@@ -51,4 +51,5 @@ AssertEquals(char *message, Uint32 expected, Uint32 actual)
} }
} }
#endif #endif
...@@ -23,6 +23,13 @@ ...@@ -23,6 +23,13 @@
#include <SDL/SDL.h> #include <SDL/SDL.h>
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 TestInit();
void TestQuit(); void TestQuit();
......
...@@ -27,10 +27,22 @@ ...@@ -27,10 +27,22 @@
#include "SDL_test.h" #include "SDL_test.h"
char *names[] = {"hello", "hello2", "hello3", NULL}; /*
TestCaseReference references[] = {
{.name = "hello", .description = "desc", .enabled = 1, .requirements = 0 }
};
*/
TestCaseReference *references[] = {
{"hello", "description", 1, 0},
{"hello2", "description", 1, 0},
NULL
};
char **queryTestNames() { TestCaseReference **QueryTestCaseReferences() {
return names; return references;
} }
void hello(void *arg){ void hello(void *arg){
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment