commit 9abfd3c8c2d3087a7ec4467f43eeb1dac3ac1fdb from: Sergey Bronnikov date: Thu May 07 13:16:23 2020 UTC Fix error with division by zero in metrics calculation commit - 1b4e458e9c63f638eb44adeb8d8ff7b7a9b4dd19 commit + 9abfd3c8c2d3087a7ec4467f43eeb1dac3ac1fdb blob - 4acf73001a4278c39ae6e2747eabfe32be232785 blob + bdfe3aae2b04f2d8e7bf528fc076dd97b9b0eccf --- src/metrics.c +++ src/metrics.c @@ -35,14 +35,14 @@ /* FIXME: passed, failed and skipped calculated twice */ double metric_pass_rate(struct tailq_report *report) { - if (!report) - return 0; + int passed = num_by_status_class(report, STATUS_CLASS_PASS); + int failed = num_by_status_class(report, STATUS_CLASS_FAIL); + int skipped = num_by_status_class(report, STATUS_CLASS_SKIP); + if (!report || (passed + failed + skipped == 0)) + return 0; double num = 0; if (report->suites != NULL) { - int passed = num_by_status_class(report, STATUS_CLASS_PASS); - int failed = num_by_status_class(report, STATUS_CLASS_FAIL); - int skipped = num_by_status_class(report, STATUS_CLASS_SKIP); num = (double)passed / (double)(passed + failed + skipped) * 100; } else { num = 0;