diff options
Diffstat (limited to 'src/usr/cxxtest/TestSuite.C')
-rwxr-xr-x | src/usr/cxxtest/TestSuite.C | 302 |
1 files changed, 150 insertions, 152 deletions
diff --git a/src/usr/cxxtest/TestSuite.C b/src/usr/cxxtest/TestSuite.C index 17460ae3b..99055d0cf 100755 --- a/src/usr/cxxtest/TestSuite.C +++ b/src/usr/cxxtest/TestSuite.C @@ -11,158 +11,156 @@ namespace CxxTest { - /******************************************************************************/ - // Globals/Constants - /******************************************************************************/ - - /** - * @brief global vars to keep track of unit tests. - * - * totaltests - initialized to 0, updated by reporttotaltests() below. - * each test suite will call reporttotaltests after all tests have - * run with the total number of tests for that suite. - * Once all the testsuites have run, the global totaltests will hold - * the total of number of unit test for that run. - * - * Each unit test macro (TS_TRACE, TS_WARN, and TS_FAIL) will update - * the proper variable. At the end the unit tester will print out - * the totals. - * // Global cxxtest values - Keep global so it can be found in syms file - */ - uint64_t g_TotalTests = 0; - uint64_t g_TraceCalls = 0; - uint64_t g_Warnings = 0; - uint64_t g_FailedTests = 0; - - - // - // TestSuite members - // - TestSuite::~TestSuite() {} - void TestSuite::setUp() {} - void TestSuite::tearDown() {} - - /** - * - * @brief Implement trace action in unit tests - * - * @param [in] pointer to filename (not used right now ) - * @param [in] line number - * @param [in] trace message - * - * @return void - * - */ - void doTrace( const char *file, unsigned line, const char *message ) - { - // tracker().trace( file, line, message ); - printk("TRACE: %s %u %s\n", file, line, message); - __sync_add_and_fetch( &g_TraceCalls, 1 ); - } - - /** - * - * @brief Implement warn action in unit tests - * - * @param [in] pointer to filename (not used right now ) - * @param [in] line number - * @param [in] warning message - * - * @return void - * - */ - void doWarn( const char *file, unsigned line, const char *message ) - { - // tracker().warning( file, line, message ); - printk("WARN: %s %u %s\n", file, line, message); - __sync_add_and_fetch( &g_Warnings, 1 ); - } - - /** - * @brief Implement Fail action in unit tests - * - * @param [in] pointer to filename (not used right now ) - * @param [in] line number - * @param [in] failure message - * - * @return void - */ - - void doFailTest( const char *file, unsigned line, const char *message ) - { - // tracker().failedTest( file, line, message ); - printk("FAIL: %s %u %s\n", file, line, message); - __sync_add_and_fetch( &g_FailedTests, 1 ); - } - - /** - * @brief Report total number of unit tests in a test suite - * - * A unit test suite will call this to report how many tests - * it has. The call itself is autogenerated - * - * @param [in] pointer to filename (not used right now ) - * @param [in] line number - * @param [in] trace message - * - * @return void - */ - void reportTotalTests( const char *suitename, uint64_t numtests ) - { - - // $$TODO do nothing with the suite name for now, later it may be useful - __sync_add_and_fetch( &g_TotalTests, numtests ); - - return; - } - - /** - * @brief accessor to read global totaltests var - * @TODO make these readonly accessors - * - * @return number of total tests - */ - uint64_t getTotalTests(void) - { - - return g_TotalTests; - } - - /** - * @brief accessor to read global failedtests var - * @TODO make these readonly accessors - * - * @return total number off failures executed - */ - uint64_t getFailedTests(void) - { - - return g_FailedTests; - } - - /** - * @brief accessor to read global warnings var - * @TODO make these readonly accessors - * - * @return total number of warnings executed - */ - uint64_t getWarnings(void) - { - - return g_Warnings; - } - - /** - * @brief accessor to read global tracecalls var - * @TODO make these readonly accessors - * - * @return total number of trace calls executed - */ - uint64_t getTraceCalls(void) - { - - return g_TraceCalls; - } +/******************************************************************************/ +// Globals/Constants +/******************************************************************************/ + +/** + * @brief global vars to keep track of unit tests. + * + * totaltests - initialized to 0, updated by reporttotaltests() below. + * each test suite will call reporttotaltests after all tests have + * run with the total number of tests for that suite. + * Once all the testsuites have run, the global totaltests will hold + * the total of number of unit test for that run. + * + * Each unit test macro (TS_TRACE, TS_WARN, and TS_FAIL) will update + * the proper variable. At the end the unit tester will print out + * the totals. + * // Global cxxtest values - Keep global so it can be found in syms file + */ +uint64_t g_TotalTests = 0; +uint64_t g_TraceCalls = 0; +uint64_t g_Warnings = 0; +uint64_t g_FailedTests = 0; + + +// +// TestSuite members +// +TestSuite::~TestSuite() {} +void TestSuite::setUp() {} +void TestSuite::tearDown() {} + +/** + * + * @brief Implement trace action in unit tests + * + * @return void + * + */ +void doTrace( void ) +{ + + __sync_add_and_fetch( &g_TraceCalls, 1 ); + + return; +} + +/** + * + * @brief Implement warn action in unit tests + * + * @param [in] pointer to filename (not used right now ) + * @param [in] line number + * @param [in] warning message + * + * @return void + * + */ +void doWarn( const char *file, unsigned line, const char *message ) +{ + + printk("WARN: %s %u %s\n", file, line, message); + __sync_add_and_fetch( &g_Warnings, 1 ); +} + +/** + * @brief Implement Fail action in unit tests + * + * @param [in] pointer to filename (not used right now ) + * @param [in] line number + * @param [in] failure message + * + * @return void + */ + +void doFailTest( const char *file, unsigned line, const char *message ) +{ + + printk("FAIL: %s %u %s\n", file, line, message); + __sync_add_and_fetch( &g_FailedTests, 1 ); +} + +/** + * @brief Report total number of unit tests in a test suite + * + * A unit test suite will call this to report how many tests + * it has. The call itself is autogenerated + * + * @param [in] pointer to filename (not used right now ) + * @param [in] line number + * @param [in] trace message + * + * @return void + */ +void reportTotalTests( const char *suitename, uint64_t numtests ) +{ + + // $$TODO do nothing with the suite name for now, later it may be useful + __sync_add_and_fetch( &g_TotalTests, numtests ); + printk( "%s completed %ld tests\n", suitename, numtests); + + return; +} + +/** + * @brief accessor to read global totaltests var + * @TODO make these readonly accessors + * + * @return number of total tests + */ +uint64_t getTotalTests(void) +{ + + return g_TotalTests; +} + +/** + * @brief accessor to read global failedtests var + * @TODO make these readonly accessors + * + * @return total number off failures executed + */ +uint64_t getFailedTests(void) +{ + + return g_FailedTests; +} + +/** + * @brief accessor to read global warnings var + * @TODO make these readonly accessors + * + * @return total number of warnings executed + */ +uint64_t getWarnings(void) +{ + + return g_Warnings; +} + +/** + * @brief accessor to read global tracecalls var + * @TODO make these readonly accessors + * + * @return total number of trace calls executed + */ +uint64_t getTraceCalls(void) +{ + + return g_TraceCalls; +} }; |