Skip to content

Commit d955c65

Browse files
committed
Merge pull request #6 from nubs/master
Update build scripts to use phpunit/phpcs as a library.
2 parents 1f7c552 + 5929bb6 commit d955c65

6 files changed

Lines changed: 34 additions & 17 deletions

File tree

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
1-
/clover.xml
21
/coverage/
32
/vendor/

.scrutinizer.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
filter:
22
excluded_paths:
33
- 'vendor/*'
4+
- 'tests/*'
45
before_commands:
56
- 'composer install --dev'
67
tools:
@@ -11,9 +12,10 @@ tools:
1112
standard: PSR1
1213
sensiolabs_security_checker: true
1314
php_code_coverage:
14-
test_command: './vendor/bin/phpunit --strict'
15+
test_command: './vendor/bin/phpunit'
1516
php_loc:
1617
excluded_dirs:
1718
- vendor
19+
- tests
1820
php_pdepend: true
1921
php_sim: true

.travis.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@ php:
55
- 5.4
66
- 5.3
77
- hhvm
8-
script: ./build.php
8+
install: composer install
9+
script: ./vendor/bin/phpunit

README.md

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
# Memoize
22
A PHP library for memoizing repeated function calls.
33

4-
[![Build Status](https://travis-ci.org/dominionenterprises/memoize-php.png)](https://travis-ci.org/dominionenterprises/memoize-php)
5-
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/dominionenterprises/memoize-php/badges/quality-score.png?s=25ab188709941f6b6de105c8250c971f4f3d8982)](https://scrutinizer-ci.com/g/dominionenterprises/memoize-php/)
6-
[![Code Coverage](https://scrutinizer-ci.com/g/dominionenterprises/memoize-php/badges/coverage.png?s=927286917d2abd01c27eea906b91fbef071810f5)](https://scrutinizer-ci.com/g/dominionenterprises/memoize-php/)
7-
8-
[![Latest Stable Version](https://poser.pugx.org/dominionenterprises/memoize/v/stable.png)](https://packagist.org/packages/dominionenterprises/memoize)
9-
[![Total Downloads](https://poser.pugx.org/dominionenterprises/memoize/downloads.png)](https://packagist.org/packages/dominionenterprises/memoize)
10-
[![Latest Unstable Version](https://poser.pugx.org/dominionenterprises/memoize/v/unstable.png)](https://packagist.org/packages/dominionenterprises/memoize)
11-
[![License](https://poser.pugx.org/dominionenterprises/memoize/license.png)](https://packagist.org/packages/dominionenterprises/memoize)
4+
[![Build Status](http://img.shields.io/travis/dominionenterprises/memoize-php.svg?style=flat)](https://travis-ci.org/dominionenterprises/memoize-php)
5+
[![Scrutinizer Code Quality](http://img.shields.io/scrutinizer/g/dominionenterprises/memoize-php.svg?style=flat)](https://scrutinizer-ci.com/g/dominionenterprises/memoize-php/)
6+
[![Code Coverage](http://img.shields.io/scrutinizer/coverage/g/dominionenterprises/memoize-php.svg?style=flat)](https://scrutinizer-ci.com/g/dominionenterprises/memoize-php/)
7+
8+
[![Latest Stable Version](http://img.shields.io/packagist/v/dominionenterprises/memoize.svg?style=flat)](https://packagist.org/packages/dominionenterprises/memoize)
9+
[![Total Downloads](http://img.shields.io/packagist/dt/dominionenterprises/memoize.svg?style=flat)](https://packagist.org/packages/dominionenterprises/memoize)
10+
[![License](http://img.shields.io/packagist/l/dominionenterprises/memoize.svg?style=flat)](https://packagist.org/packages/dominionenterprises/memoize)
1211

1312
## Requirements
1413
This library requires PHP 5.3, or newer.

build.php

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,33 @@
33
chdir(__DIR__);
44

55
$returnStatus = null;
6-
passthru('composer install --dev', $returnStatus);
6+
passthru('composer install', $returnStatus);
77
if ($returnStatus !== 0) {
88
exit(1);
99
}
1010

11-
passthru('./vendor/bin/phpcs --standard=PSR1 -n src tests *.php', $returnStatus);
12-
if ($returnStatus !== 0) {
11+
require 'vendor/autoload.php';
12+
13+
$phpcsCLI = new PHP_CodeSniffer_CLI();
14+
$phpcsArguments = array('standard' => array('PSR1'), 'files' => array('src', 'tests', 'build.php'), 'warningSeverity' => 0);
15+
$phpcsViolations = $phpcsCLI->process($phpcsArguments);
16+
if ($phpcsViolations > 0) {
1317
exit(1);
1418
}
1519

16-
passthru('./vendor/bin/phpunit --coverage-html coverage --strict tests', $returnStatus);
17-
if ($returnStatus !== 0) {
20+
$phpunitConfiguration = PHPUnit_Util_Configuration::getInstance(__DIR__ . '/phpunit.xml');
21+
$phpunitArguments = array('coverageHtml' => __DIR__ . '/coverage', 'configuration' => $phpunitConfiguration);
22+
$testRunner = new PHPUnit_TextUI_TestRunner();
23+
$result = $testRunner->doRun($phpunitConfiguration->getTestSuiteConfiguration(), $phpunitArguments);
24+
if (!$result->wasSuccessful()) {
1825
exit(1);
1926
}
27+
28+
$coverageFactory = new PHP_CodeCoverage_Report_Factory();
29+
$coverageReport = $coverageFactory->create($result->getCodeCoverage());
30+
if ($coverageReport->getNumExecutedLines() !== $coverageReport->getNumExecutableLines()) {
31+
file_put_contents('php://stderr', "Code coverage was NOT 100%\n");
32+
exit(1);
33+
}
34+
35+
echo "Code coverage was 100%\n";

phpunit.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<phpunit colors="true">
1+
<phpunit colors="true" forceCoversAnnotation="true" strict="true">
22
<testsuite name="Unit Tests">
33
<directory>./tests</directory>
44
</testsuite>

0 commit comments

Comments
 (0)