<?php 
$inputFile  = $argv[1]; 
$percentage = min( 
    100, 
    max(0, (int) $argv[2]) 
); 
 
if (!file_exists($inputFile)) { 
    throw new InvalidArgumentException( 
        'Invalid input file provided' 
    ); 
} 
 
if (!$percentage) { 
    throw new InvalidArgumentException( 
        'An integer checked percentage must be given as second 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; 
 
 |