Added TestCaseReference structure.
This commit is contained in:
parent
d6d8dec05e
commit
ff1e17dca4
4 changed files with 38 additions and 11 deletions
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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();
|
||||
|
||||
|
|
|
@ -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){
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue