diff options
Diffstat (limited to 'src/usr/cxxtest/TestSuite.C')
-rwxr-xr-x | src/usr/cxxtest/TestSuite.C | 46 |
1 files changed, 43 insertions, 3 deletions
diff --git a/src/usr/cxxtest/TestSuite.C b/src/usr/cxxtest/TestSuite.C index 92feb4886..3b1499889 100755 --- a/src/usr/cxxtest/TestSuite.C +++ b/src/usr/cxxtest/TestSuite.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2011,2017 */ +/* Contributors Listed Below - COPYRIGHT 2011,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -32,7 +32,6 @@ #include <stdarg.h> #include <arch/ppc.H> #include <string.h> - #include <cxxtest/TestSuite.H> trace_desc_t *g_trac_test = NULL; @@ -43,6 +42,9 @@ namespace CxxTest /******************************************************************************/ // Globals/Constants /******************************************************************************/ +//This is a list of testcases that are expected to run in a serial manner +// example: std::vector<const char *> CxxSerialTests{"libtestrtloader.so"}; +std::vector<const char *> CxxSerialTests{"libtesthwas.so"}; // // TestSuite members @@ -104,6 +106,43 @@ void doFailTest( ) } +void sortTests(std::vector<const char *> & i_list, + std::vector<const char *> & o_serial_list, + std::vector<const char *> & o_parallel_list) +{ + o_serial_list.clear(); + o_serial_list.reserve(32); + o_parallel_list.clear(); + o_parallel_list.reserve(32); + + //Loop through list of all tests + for(std::vector<const char *>::const_iterator i = i_list.begin(); + i != i_list.end(); ++i) + { + bool is_serial = false; + + for(std::vector<const char *>::const_iterator j = CxxSerialTests.begin(); + j != CxxSerialTests.end(); ++j) + { + if (0 == strcmp(*i, *j)) + { + is_serial = true; + } + } + + if (is_serial) + { + TRACFCOMP( g_trac_test, "%s is a serial test",*i); + o_serial_list.push_back(*i); + } + else + { + TRACFCOMP( g_trac_test, "%s is a parallel test",*i); + o_parallel_list.push_back(*i); + } + } +} + /** * @brief Implement Fail action in unit tests * @@ -115,10 +154,11 @@ void doFailTest( ) void doFailTest( const char *filename, uint32_t linenum ) { - TRACDCOMP( g_trac_test, + TRACFCOMP( g_trac_test, "!!! > Test %s Failed at line %d ", filename, linenum ); + if(g_FailedTests < CXXTEST_FAIL_LIST_SIZE) { memcpy(g_FailedTestList[g_FailedTests].failTestFile, |