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;
|
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[]) {
|
||||||
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
|
||||||
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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -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 @@
|
||||||
|
|
||||||
#include "SDL_test.h"
|
#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){
|
void hello(void *arg){
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue