X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit-internal%2Ftct-dali-toolkit-internal-core.cpp;h=fe0ed63f5206587b99a973d58a76bd507301b7be;hp=c80af33de348a3ffae55ef2c493c1aba098ebc5d;hb=1a0dc2cc53708bbc32546da6031e996465544f51;hpb=f3fedb978f7682a90ea1d73a790c657a8d37a71c diff --git a/automated-tests/src/dali-toolkit-internal/tct-dali-toolkit-internal-core.cpp b/automated-tests/src/dali-toolkit-internal/tct-dali-toolkit-internal-core.cpp index c80af33..fe0ed63 100644 --- a/automated-tests/src/dali-toolkit-internal/tct-dali-toolkit-internal-core.cpp +++ b/automated-tests/src/dali-toolkit-internal/tct-dali-toolkit-internal-core.cpp @@ -1,220 +1,7 @@ -#include -#include +#include #include "tct-dali-toolkit-internal-core.h" -#include -#include -#include -#include -#include -#include -#include - -int RunTestCase( struct testcase_s& testCase ) -{ - int result = 1; - if( testCase.startup ) - { - testCase.startup(); - } - result = testCase.function(); - if( testCase.cleanup ) - { - testCase.cleanup(); - } - return result; -} - -#define MAX_NUM_CHILDREN 16 - -struct TestCase -{ - int testCase; - const char* testCaseName; - - TestCase() - : testCase(0), - testCaseName(NULL) - { - } - - TestCase(int tc, const char* name) - : testCase(tc), - testCaseName(name) - { - } - TestCase(const TestCase& rhs) - : testCase(rhs.testCase), - testCaseName(rhs.testCaseName) - { - } - TestCase& operator=(const TestCase& rhs) - { - testCase = rhs.testCase; - testCaseName = rhs.testCaseName; - return *this; - - } -}; - - -typedef std::map RunningTestCases; - -// Constantly runs up to MAX_NUM_CHILDREN processes -int RunAllInParallel(const char* processName, bool reRunFailed) -{ - int numFailures = 0; - int numPasses = 0; - int numTestCases = sizeof(tc_array)/sizeof(struct testcase_s) - 1; - - RunningTestCases children; - std::vector failedTestCases; - - // Fork up to MAX_NUM_CHILDREN processes, then - // wait. As soon as a proc completes, fork the next. - - int nextTestCase = 0; - int numRunningChildren = 0; - while( nextTestCase < numTestCases || numRunningChildren > 0) - { - if( nextTestCase < numTestCases ) - { - while( numRunningChildren < MAX_NUM_CHILDREN ) - { - int pid = fork(); - if( pid == 0 ) // Child process - { - close(STDOUT_FILENO); - close(STDERR_FILENO); - exit( RunTestCase( tc_array[nextTestCase] ) ); - } - else if(pid == -1) - { - perror("fork"); - exit(2); - } - else // Parent process - { - TestCase tc(nextTestCase, tc_array[nextTestCase].name); - children[pid] = tc; - nextTestCase++; - numRunningChildren++; - } - } - } - - int status=0; - int childPid = waitpid(-1, &status, 0); - if( childPid == -1 ) - { - perror("waitpid"); - exit(2); - } - - if( WIFEXITED(status) ) - { - if( childPid > 0 ) - { - int testResult = WEXITSTATUS(status); - if( testResult ) - { - printf("Test case %s failed: %d\n", children[childPid].testCaseName, testResult); - failedTestCases.push_back(children[childPid].testCase); - numFailures++; - } - else - { - numPasses++; - } - numRunningChildren--; - } - } - - else if( WIFSIGNALED(status) ) - { - if( childPid > 0 ) - { - RunningTestCases::iterator iter = children.find(childPid); - if( iter != children.end() ) - { - printf("Test case %s exited with signal %d\n", iter->second.testCaseName, WTERMSIG(status)); - failedTestCases.push_back(iter->second.testCase); - } - else - { - printf("Unknown child process: %d signaled %d\n", childPid, WTERMSIG(status)); - } - - numFailures++; - numRunningChildren--; - } - } - } - - printf("\rNumber of test passes: %d \n", numPasses); - printf("Number of test failures: %d\n", numFailures); - - if( reRunFailed ) - { - for( unsigned int i=0; i\n", argv[0]); - return 2; - } - result = FindAndRunTestCase(argv[1]); - } - return result; + return TestHarness::RunTests(argc, argv, tc_array); }