diff options
Diffstat (limited to 'share/cmake-3.6/Templates/TestDriver.cxx.in')
-rw-r--r-- | share/cmake-3.6/Templates/TestDriver.cxx.in | 165 |
1 files changed, 0 insertions, 165 deletions
diff --git a/share/cmake-3.6/Templates/TestDriver.cxx.in b/share/cmake-3.6/Templates/TestDriver.cxx.in deleted file mode 100644 index ffa6999..0000000 --- a/share/cmake-3.6/Templates/TestDriver.cxx.in +++ /dev/null @@ -1,165 +0,0 @@ -#include <ctype.h> -#include <stdio.h> -#include <string.h> -#include <stdlib.h> - -#if defined(_MSC_VER) -# pragma warning(disable:4996) /* deprecation */ -#endif - -@CMAKE_TESTDRIVER_EXTRA_INCLUDES@ - - -/* Forward declare test functions. */ -@CMAKE_FORWARD_DECLARE_TESTS@ - -/* Create map. */ - -typedef int (*MainFuncPointer)(int , char*[]); -typedef struct -{ - const char* name; - MainFuncPointer func; -} functionMapEntry; - -static functionMapEntry cmakeGeneratedFunctionMapEntries[] = { - @CMAKE_FUNCTION_TABLE_ENTIRES@ - {0,0} -}; - -/* Allocate and create a lowercased copy of string - (note that it has to be free'd manually) */ - -static char* lowercase(const char *string) -{ - char *new_string, *p; - -#ifdef __cplusplus - new_string = static_cast<char *>(malloc(sizeof(char) * - static_cast<size_t>(strlen(string) + 1))); -#else - new_string = (char *)(malloc(sizeof(char) * (size_t)(strlen(string) + 1))); -#endif - - if (!new_string) - { - return 0; - } - strcpy(new_string, string); - p = new_string; - while (*p != 0) - { -#ifdef __cplusplus - *p = static_cast<char>(tolower(*p)); -#else - *p = (char)(tolower(*p)); -#endif - - ++p; - } - return new_string; -} - -int main(int ac, char *av[]) -{ - int i, NumTests, testNum = 0, partial_match; - char *arg, *test_name; - int count; - int testToRun = -1; - - @CMAKE_TESTDRIVER_ARGVC_FUNCTION@ - - for(count =0; cmakeGeneratedFunctionMapEntries[count].name != 0; count++) - { - } - NumTests = count; - /* If no test name was given */ - /* process command line with user function. */ - if (ac < 2) - { - /* Ask for a test. */ - printf("Available tests:\n"); - for (i =0; i < NumTests; ++i) - { - printf("%3d. %s\n", i, cmakeGeneratedFunctionMapEntries[i].name); - } - printf("To run a test, enter the test number: "); - fflush(stdout); - if( scanf("%d", &testNum) != 1 ) - { - printf("Couldn't parse that input as a number\n"); - return -1; - } - if (testNum >= NumTests) - { - printf("%3d is an invalid test number.\n", testNum); - return -1; - } - testToRun = testNum; - ac--; - av++; - } - partial_match = 0; - arg = 0; - /* If partial match is requested. */ - if(testToRun == -1 && ac > 1) - { - partial_match = (strcmp(av[1], "-R") == 0) ? 1 : 0; - } - if (partial_match && ac < 3) - { - printf("-R needs an additional parameter.\n"); - return -1; - } - if(testToRun == -1) - { - arg = lowercase(av[1 + partial_match]); - } - for (i =0; i < NumTests && testToRun == -1; ++i) - { - test_name = lowercase(cmakeGeneratedFunctionMapEntries[i].name); - if (partial_match && strstr(test_name, arg) != NULL) - { - testToRun = i; - ac -=2; - av += 2; - } - else if (!partial_match && strcmp(test_name, arg) == 0) - { - testToRun = i; - ac--; - av++; - } - free(test_name); - } - if(arg) - { - free(arg); - } - if(testToRun != -1) - { - int result; -@CMAKE_TESTDRIVER_BEFORE_TESTMAIN@ - if (testToRun < 0 || testToRun >= NumTests) - { - printf( - "testToRun was modified by TestDriver code to an invalid value: %3d.\n", - testNum); - return -1; - } - result = (*cmakeGeneratedFunctionMapEntries[testToRun].func)(ac, av); -@CMAKE_TESTDRIVER_AFTER_TESTMAIN@ - return result; - } - - - /* Nothing was run, display the test names. */ - printf("Available tests:\n"); - for (i =0; i < NumTests; ++i) - { - printf("%3d. %s\n", i, cmakeGeneratedFunctionMapEntries[i].name); - } - printf("Failed: %s is an invalid test name.\n", av[1]); - - return -1; -} |