[op_conformance] Fix not removing of crash for cases with several ops (#21194)

This commit is contained in:
Sofya Balandina 2023-11-21 13:03:20 +00:00 committed by GitHub
parent 1fd65ce0f9
commit aaddfb3a00
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 15 additions and 18 deletions

View File

@ -26,6 +26,9 @@ struct PassRate {
double rel_passed = 0;
double rel_all = 0;
bool isCrashReported = false;
bool isHangReported = false;
PassRate() = default;
PassRate(unsigned long p,
@ -51,8 +54,6 @@ protected:
std::string ts = ov::test::utils::GetTimestamp();
static size_t saveReportTimeout;
static bool isCrashReported;
static bool isHangReported;
static bool extendReport;
static bool saveReportWithUniqueName;
static const char* outputFolder;

View File

@ -36,8 +36,6 @@ void ApiSummaryDestroyer::initialize(ApiSummary* p) {
ApiSummary::ApiSummary() : apiStats() {
reportFilename = ov::test::utils::API_REPORT_FILENAME;
isCrashReported = false;
isHangReported = false;
}
ApiSummary& ApiSummary::getInstance() {
@ -71,14 +69,14 @@ void ApiSummary::updateStat(ov_entity entity,
if (cur_stat.find(real_device) == cur_stat.end()) {
cur_stat.insert({real_device, PassRate()});
}
if (isCrashReported) {
if (cur_stat[real_device].isCrashReported) {
cur_stat[real_device].crashed--;
isCrashReported = false;
cur_stat[real_device].isCrashReported = false;
} else {
cur_stat[real_device].rel_all += rel_influence_coef;
}
if (isHangReported) {
isHangReported = false;
if (cur_stat[real_device].isHangReported) {
cur_stat[real_device].isHangReported = false;
return;
}
switch (status) {
@ -96,7 +94,7 @@ void ApiSummary::updateStat(ov_entity entity,
}
case PassRate::Statuses::HANGED: {
cur_stat[real_device].hanged++;
isHangReported = true;
cur_stat[real_device].isHangReported = true;
break;
}
case PassRate::Statuses::FAILED: {
@ -105,7 +103,7 @@ void ApiSummary::updateStat(ov_entity entity,
}
case PassRate::Statuses::CRASHED:
cur_stat[real_device].crashed++;
isCrashReported = true;
cur_stat[real_device].isCrashReported = true;
break;
}
}

View File

@ -60,15 +60,15 @@ void OpSummary::updateOPsStats(const ov::NodeTypeInfo& op,
opsStats.insert({op, PassRate()});
}
auto& passrate = opsStats[op];
if (isCrashReported) {
isCrashReported = false;
if (passrate.isCrashReported) {
passrate.isCrashReported = false;
if (passrate.crashed > 0)
passrate.crashed--;
} else {
passrate.rel_all += rel_influence_coef;
}
if (isHangReported) {
isHangReported = false;
if (passrate.isHangReported) {
passrate.isHangReported = false;
return;
}
switch (status) {
@ -87,12 +87,12 @@ void OpSummary::updateOPsStats(const ov::NodeTypeInfo& op,
break;
case PassRate::CRASHED: {
passrate.crashed++;
isCrashReported = true;
passrate.isCrashReported = true;
break;
}
case PassRate::HANGED: {
passrate.hanged++;
isHangReported = true;
passrate.isHangReported = true;
break;
}
}

View File

@ -49,8 +49,6 @@ double PassRate::getRelPassrate() const {
bool Summary::extendReport = false;
bool Summary::saveReportWithUniqueName = false;
bool Summary::isCrashReported = false;
bool Summary::isHangReported = false;
size_t Summary::saveReportTimeout = 0;
const char* Summary::outputFolder = ".";