X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Fdali-toolkit-test-utils%2Ftest-harness.h;h=554846f20cf0e6cd633117c27fec076cd074d8ea;hb=214aac69c6f01cd0544afe05e4c4d7060092b190;hp=e6dc5178de3310ab99750d8d93672f6131c0550c;hpb=b8c93847cc736bfc69876fd087ab06474fbfbe47;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-harness.h b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-harness.h index e6dc517..554846f 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-harness.h +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-harness.h @@ -2,7 +2,7 @@ #define TEST_HARNESS_H /* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * Copyright (c) 2020 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,49 +20,85 @@ #include #include +#include +#include + namespace TestHarness { - enum ExitStatus { - EXIT_STATUS_TESTCASE_SUCCEEDED, // 0 - EXIT_STATUS_TESTCASE_FAILED, // 1 - EXIT_STATUS_TESTCASE_ABORTED, // 2 - EXIT_STATUS_FORK_FAILED, // 3 - EXIT_STATUS_WAITPID_FAILED, // 4 - EXIT_STATUS_BAD_ARGUMENT, // 5 - EXIT_STATUS_TESTCASE_NOT_FOUND // 6 + EXIT_STATUS_TESTCASE_SUCCEEDED, // 0 + EXIT_STATUS_TESTCASE_FAILED, // 1 + EXIT_STATUS_TESTCASE_ABORTED, // 2 + EXIT_STATUS_FORK_FAILED, // 3 + EXIT_STATUS_WAITPID_FAILED, // 4 + EXIT_STATUS_BAD_ARGUMENT, // 5 + EXIT_STATUS_TESTCASE_NOT_FOUND // 6 }; -const int MAX_NUM_CHILDREN(16); +const int32_t MAX_NUM_CHILDREN(16); struct TestCase { - int testCase; - const char* testCaseName; - + int32_t testCase; + const char* name; + std::chrono::steady_clock::time_point startTime; + std::chrono::system_clock::time_point startSystemTime; + int32_t result; + pid_t childPid{0}; + testcase* tctPtr; + + TestCase(int32_t index, testcase* testCase) + : testCase(index), + name(testCase->name), + startTime(), + startSystemTime(), + result(0), + childPid(0), + tctPtr(testCase) + { + } TestCase() : testCase(0), - testCaseName(NULL) + name(NULL), + startTime(), + startSystemTime(), + result(0), + childPid(0), + tctPtr(nullptr) { } - TestCase(int tc, const char* name) + TestCase(int32_t tc, const char* name) : testCase(tc), - testCaseName(name) + name(name), + startTime(), + startSystemTime(), + result(0), + childPid(0), + tctPtr(nullptr) { } TestCase(const TestCase& rhs) : testCase(rhs.testCase), - testCaseName(rhs.testCaseName) + name(rhs.name), + startTime(rhs.startTime), + startSystemTime(rhs.startSystemTime), + result(rhs.result), + childPid(rhs.childPid), + tctPtr(rhs.tctPtr) { } TestCase& operator=(const TestCase& rhs) { - testCase = rhs.testCase; - testCaseName = rhs.testCaseName; + testCase = rhs.testCase; + name = rhs.name; + startTime = rhs.startTime; + startSystemTime = rhs.startSystemTime; + result = rhs.result; + childPid = rhs.childPid; + tctPtr = rhs.tctPtr; return *this; - } }; @@ -70,7 +106,7 @@ struct TestCase * Run a test case * @param[in] testCase The Testkit-lite test case to run */ -int RunTestCase( struct testcase_s& testCase ); +int32_t RunTestCase(struct testcase_s& testCase); /** * Run all test cases in parallel @@ -79,16 +115,15 @@ int RunTestCase( struct testcase_s& testCase ); * @param[in] reRunFailed True if failed test cases should be re-run * @return 0 on success */ -int RunAllInParallel(const char* processName, testcase tc_array[], bool reRunFailed); +int32_t RunAllInParallel(const char* processName, testcase tc_array[], bool reRunFailed); /** * Run all test cases in serial * @param[in] processName The name of this process * @param[in] tc_array The array of auto-generated testkit-lite test cases - * @param[in] reRunFailed True if failed test cases should be re-run * @return 0 on success */ -int RunAll(const char* processName, testcase tc_array[], bool reRunFailed); +int32_t RunAll(const char* processName, testcase tc_array[]); /** * Find the named test case in the given array, and run it @@ -96,7 +131,7 @@ int RunAll(const char* processName, testcase tc_array[], bool reRunFailed); * @param[in] testCaseName the name of the test case to run * @return 0 on success */ -int FindAndRunTestCase(::testcase tc_array[], const char* testCaseName); +int32_t FindAndRunTestCase(::testcase tc_array[], const char* testCaseName); /** * Display usage instructions for this program @@ -104,6 +139,14 @@ int FindAndRunTestCase(::testcase tc_array[], const char* testCaseName); */ void Usage(const char* program); +/** + * Main function. + * @param[in] argc Argument count + * @param[in] argv Argument vector + * @param[in] tc_array Array of test cases + */ +int RunTests(int argc, char* const argv[], ::testcase tc_array[]); + } // namespace TestHarness #endif