Skip to content
This repository has been archived by the owner on Feb 19, 2020. It is now read-only.

Commit

Permalink
Merge pull request #20 from codacy/safe-division
Browse files Browse the repository at this point in the history
Fix #18: Prevent division by zero exception
  • Loading branch information
machadoit committed Jan 7, 2016
2 parents d505188 + d5f6278 commit b2fdbb9
Showing 1 changed file with 10 additions and 2 deletions.
12 changes: 10 additions & 2 deletions src/Codacy/Coverage/Parser/CloverParser.php
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -135,4 +135,12 @@ private function getRelativePath(\SimpleXMLElement $fileName)

return $str;
}

private function safeDivision($a, $b)
{
if ($b === 0) {
return 0;
}
return $a / $b;
}
}

0 comments on commit b2fdbb9

Please sign in to comment.