275fdd43c1
* Increased max stack size to 640 * Added new binary for executing unit tests Added new unit tests for argcheck.cc and alt_rsmi.cc files Modified the method to execute unit tests to cover static methods by using a bash script to convert static to non-static functions and variables on the fly restricted to debug build type.
46 lines
1.7 KiB
C++
46 lines
1.7 KiB
C++
/*************************************************************************
|
|
* Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.
|
|
*
|
|
* See LICENSE.txt for license information
|
|
************************************************************************/
|
|
|
|
#include <gtest/gtest.h>
|
|
#include "EnvVars.hpp"
|
|
|
|
int main(int argc, char **argv)
|
|
{
|
|
::testing::InitGoogleTest(&argc, argv);
|
|
RcclUnitTesting::EnvVars ev;
|
|
ev.ShowConfig();
|
|
int retCode = RUN_ALL_TESTS();
|
|
|
|
// Show timing information
|
|
|
|
if (ev.showTiming)
|
|
{
|
|
size_t totalTimeMsec = 0;
|
|
fflush(stdout);
|
|
printf("[ TIMING ] %-20s: %-20s: %10s ms (%s)\n", "TEST SUITE", "TEST NAME", "TIME", "STATUS");
|
|
auto unitTest = ::testing::UnitTest::GetInstance();
|
|
for (int i = 0; i < unitTest->total_test_suite_count(); i++)
|
|
{
|
|
auto suiteInfo = unitTest->GetTestSuite(i);
|
|
if (!suiteInfo->should_run()) continue;
|
|
|
|
for (int j = 0; j < suiteInfo->total_test_count(); j++)
|
|
{
|
|
auto testInfo = suiteInfo->GetTestInfo(j);
|
|
if (!testInfo->should_run()) continue;
|
|
auto testResult = testInfo->result();
|
|
if (testResult->Skipped()) continue;
|
|
printf("[ TIMING ] %-20s: %-20s: %10.2f sec (%4s)\n", testInfo->test_suite_name(), testInfo->name(), testResult->elapsed_time() / 1000.0, testResult->Passed() ? "PASS" : "FAIL");
|
|
}
|
|
printf("[ TIMING ] %-20s: %-20s: %10.2f sec (%4s)\n", suiteInfo->name(), "TOTAL", suiteInfo->elapsed_time() / 1000.0, suiteInfo->Passed() ? "PASS" : "FAIL");
|
|
totalTimeMsec += suiteInfo->elapsed_time();
|
|
}
|
|
printf("[ TIMING ] Total time: %10.2f minutes\n", totalTimeMsec / (60 * 1000.0));
|
|
}
|
|
return retCode;
|
|
}
|
|
|