diff --git a/src/Codacy/Coverage/Parser/CloverParser.php b/src/Codacy/Coverage/Parser/CloverParser.php index 82f5814..20627d5 100644 --- a/src/Codacy/Coverage/Parser/CloverParser.php +++ b/src/Codacy/Coverage/Parser/CloverParser.php @@ -25,7 +25,7 @@ public function makeReport() $projectMetrics = $project->metrics; $coveredStatements = intval($projectMetrics['coveredstatements']); $statementsTotal = intval($projectMetrics['statements']); - $reportTotal = round(($coveredStatements / $statementsTotal) * 100); + $reportTotal = round($this->safeDivision($coveredStatements, $statementsTotal) * 100); $fileReports = $this->makeFileReports($project); $report = new CoverageReport($reportTotal, $fileReports); return $report; @@ -71,7 +71,7 @@ private function makeFileReportsFromFiles(\SimpleXMLElement $node, $fileReports) if ($countStatement == 0) { $fileTotal = 0; } else { - $fileTotal = round(($countCoveredStatements / $countStatement) * 100); + $fileTotal = round($this->safeDivision($countCoveredStatements, $countStatement) * 100); } $fileName = $this->getRelativePath($file['name']); $lineCoverage = $this->getLineCoverage($file); @@ -135,4 +135,12 @@ private function getRelativePath(\SimpleXMLElement $fileName) return $str; } + + private function safeDivision($a, $b) + { + if ($b === 0) { + return 0; + } + return $a / $b; + } }