Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Commit

Permalink
Added TestCaseReference structure.
Browse files Browse the repository at this point in the history
  • Loading branch information
mkauppila committed May 26, 2011
1 parent cdccdfb commit 8572e97
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 11 deletions.
21 changes: 14 additions & 7 deletions test/test-automation/runner.c
Expand Up @@ -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());
}

Expand Down Expand Up @@ -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);
Expand Down
3 changes: 2 additions & 1 deletion test/test-automation/tests/SDL_test.c
Expand Up @@ -43,12 +43,13 @@ 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");
_testReturnValue = 1;
}
}


#endif
7 changes: 7 additions & 0 deletions test/test-automation/tests/SDL_test.h
Expand Up @@ -23,6 +23,13 @@

#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 TestQuit();

Expand Down
18 changes: 15 additions & 3 deletions test/test-automation/tests/test.c
Expand Up @@ -27,10 +27,22 @@

#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() {
return names;
TestCaseReference **QueryTestCaseReferences() {
return references;
}

void hello(void *arg){
Expand Down

0 comments on commit 8572e97

Please sign in to comment.