diff --git a/test/test-automation/Makefile.am b/test/test-automation/Makefile.am index 15f61dbc3..666f8404a 100644 --- a/test/test-automation/Makefile.am +++ b/test/test-automation/Makefile.am @@ -9,6 +9,7 @@ runner_LDFLAGS = `sdl-config --libs` install: install-tests install-tests: - cp -f tests/.libs/*.dylib tests/ + -cp -f tests/.libs/*.dylib tests/ 2> /dev/null + -cp -f tests/.libs/*.so tests/ 2> /dev/null diff --git a/test/test-automation/runner.c b/test/test-automation/runner.c index c309b15f9..1f3eb7fac 100644 --- a/test/test-automation/runner.c +++ b/test/test-automation/runner.c @@ -91,8 +91,6 @@ int main(int argc, char *argv[]) { // print: Testing againts SDL version fuu (rev: bar) int failureCount = 0, passCount = 0; - char *testname = NULL; - int counter = 0; char *libName = "libtest"; @@ -100,15 +98,19 @@ int main(int argc, char *argv[]) { void *library = LoadLibrary(); 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); + TestCaseReference *reference = NULL; + int counter = 0; + + printf("DEBUG: Starting to run test\n"); + fflush(stdout); + + for(reference = tests[counter]; reference; reference = tests[++counter]) { + // segfaults immediately after trying to access name -> out of bounds + // all the values of reference is garbage. + char *testname = reference->name; + //char *testname = reference; // for some reason this works - for(testname = tests[counter]; testname; testname = tests[++counter]) { printf("Running %s (in %s):\n", testname, libName); int childpid = fork(); diff --git a/test/test-automation/tests/Makefile.am b/test/test-automation/tests/Makefile.am index 015bfe2dc..0b62713ef 100644 --- a/test/test-automation/tests/Makefile.am +++ b/test/test-automation/tests/Makefile.am @@ -1,8 +1,9 @@ lib_LTLIBRARIES = libtest.la -libtest_la_SOURCES = test.c sdl_test.c +libtest_la_SOURCES = test.c SDL_test.c libtest_la_CLAGS = -fPIC -g libtest_la_LDFLAGS = `sdl-config --libs` distclean-local: - rm *.dylib + -rm *.dylib + -rm *.so diff --git a/test/test-automation/tests/SDL_test.h b/test/test-automation/tests/SDL_test.h index 5cad99080..3c5b4b1e5 100644 --- a/test/test-automation/tests/SDL_test.h +++ b/test/test-automation/tests/SDL_test.h @@ -24,10 +24,10 @@ #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()" */ + int enabled; /* Set to TEST_ENABLED or TEST_DISABLED */ + long requirements; /* Set to TEST_REQUIRES_OPENGL, TEST_REQUIRES_AUDIO, ... */ } TestCaseReference; void TestInit(); diff --git a/test/test-automation/tests/test.c b/test/test-automation/tests/test.c index b86f07077..328d5a890 100644 --- a/test/test-automation/tests/test.c +++ b/test/test-automation/tests/test.c @@ -27,13 +27,6 @@ #include "SDL_test.h" -/* -TestCaseReference references[] = { - {.name = "hello", .description = "desc", .enabled = 1, .requirements = 0 } -}; -*/ - - TestCaseReference *references[] = { {"hello", "description", 1, 0}, {"hello2", "description", 1, 0},