test: improve test timeout configuration

Allow custom values for different test types, i.e. ULT, AUB, etc. can
have custom timeout by using e.g.: NEO_{ULT,AUB,...}_ITERATION_MAX_TIME.
Old behavior with reading NEO_ULT_ITERATION_MAX_TIME for each test type
is preserved but new envirnoment variable has precedence.

Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
This commit is contained in:
Artur Harasimiuk 2024-02-27 18:35:51 +00:00 committed by Compute-Runtime-Automation
parent b0ea2f5759
commit c3d884e548
2 changed files with 16 additions and 3 deletions

View File

@ -93,9 +93,15 @@ int setAlarm(bool enableAlarm) {
}
auto currentUltIterationMaxTimeInS = NEO::ultIterationMaxTimeInS;
auto ultIterationMaxTimeInSEnv = getenv("NEO_ULT_ITERATION_MAX_TIME");
std::string envVar = std::string("NEO_") + NEO::executionName + "_ITERATION_MAX_TIME";
auto ultIterationMaxTimeInSEnv = getenv(envVar.c_str());
if (ultIterationMaxTimeInSEnv != nullptr) {
currentUltIterationMaxTimeInS = atoi(ultIterationMaxTimeInSEnv);
} else {
ultIterationMaxTimeInSEnv = getenv("NEO_ULT_ITERATION_MAX_TIME");
if (ultIterationMaxTimeInSEnv != nullptr) {
currentUltIterationMaxTimeInS = atoi(ultIterationMaxTimeInSEnv);
}
}
unsigned int alarmTime = currentUltIterationMaxTimeInS * ::testing::GTEST_FLAG(repeat);

View File

@ -76,9 +76,16 @@ int setAlarm(bool enableAlarm) {
std::atomic<bool> threadStarted{false};
alarmThread = std::make_unique<std::thread>([&]() {
auto currentUltIterationMaxTimeInS = NEO::ultIterationMaxTimeInS;
auto ultIterationMaxTimeInSEnv = getenv("NEO_ULT_ITERATION_MAX_TIME");
std::string envVar = std::string("NEO_") + NEO::executionName + "_ITERATION_MAX_TIME";
auto ultIterationMaxTimeInSEnv = getenv(envVar.c_str());
if (ultIterationMaxTimeInSEnv != nullptr) {
currentUltIterationMaxTimeInS = atoi(ultIterationMaxTimeInSEnv);
} else {
ultIterationMaxTimeInSEnv = getenv("NEO_ULT_ITERATION_MAX_TIME");
if (ultIterationMaxTimeInSEnv != nullptr) {
currentUltIterationMaxTimeInS = atoi(ultIterationMaxTimeInSEnv);
}
}
unsigned int alarmTimeInS = currentUltIterationMaxTimeInS * ::testing::GTEST_FLAG(repeat);
std::cout << "set timeout to: " << alarmTimeInS << " seconds" << std::endl;
@ -121,4 +128,4 @@ void cleanupSignals() {
alarmThread->join();
alarmThread.reset();
}
}
}