Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
tipuloidea
/
back
/
vendor
/
phpdocumentor
/
reflection
/
tests
:
coverage-checker.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php // based on https://ocramius.github.io/blog/automated-code-coverage-check-for-github-pull-requests-with-travis/ $inputFile = __DIR__ . '/../build/logs/clover.xml'; $percentage = min(100, max(0, (int) $argv[1])); if (!file_exists($inputFile)) { throw new InvalidArgumentException('Invalid input file provided'); } if (!$percentage) { throw new InvalidArgumentException('An integer checked percentage must be given as parameter'); } $xml = new SimpleXMLElement(file_get_contents($inputFile)); $metrics = $xml->xpath('//metrics'); $totalElements = 0; $checkedElements = 0; foreach ($metrics as $metric) { $totalElements += (int) $metric['elements']; $checkedElements += (int) $metric['coveredelements']; } $coverage = ($checkedElements / $totalElements) * 100; if ($coverage < $percentage) { echo 'Code coverage is ' . $coverage . '%, which is below the accepted ' . $percentage . '%' . PHP_EOL; exit(1); } echo 'Code coverage is ' . $coverage . '% - OK!' . PHP_EOL;