-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.php
executable file
·35 lines (31 loc) · 1.02 KB
/
build.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/usr/bin/env php
<?php
require 'vendor/autoload.php';
$phpcsCLI = new PHP_CodeSniffer_CLI();
$phpcsViolations = $phpcsCLI->process(
['standard' => ['PSR1'], 'files' => ['src', 'tests', 'build.php']]
);
if ($phpcsViolations > 0) {
exit(1);
}
$phpunitConfiguration = PHPUnit_Util_Configuration::getInstance(__DIR__ . '/phpunit.xml');
$phpunitArguments = [
'coverageHtml' => __DIR__ . '/coverage',
'configuration' => $phpunitConfiguration,
];
$testRunner = new PHPUnit_TextUI_TestRunner();
$result = $testRunner->doRun(
$phpunitConfiguration->getTestSuiteConfiguration(),
$phpunitArguments,
false
);
if (!$result->wasSuccessful()) {
exit(1);
}
$coverageFactory = new PHP_CodeCoverage_Report_Factory();
$coverageReport = $coverageFactory->create($result->getCodeCoverage());
if ($coverageReport->getNumExecutedLines() !== $coverageReport->getNumExecutableLines()) {
file_put_contents('php://stderr', "Code coverage was NOT 100%\n");
exit(1);
}
file_put_contents('php://stderr', "Code coverage was 100%\n");