From 452a5ba97c7846b95f7933177d3d41db90f0cb9b Mon Sep 17 00:00:00 2001 From: Adirelle Date: Tue, 3 Mar 2015 17:18:17 +0100 Subject: [PATCH] Enforce "en" lang in tests. Some tests compare the result to english strings. Do not test UnixCommandExecutor on Windows. PharTest: explain why PHAR writing test are skipped. InstallCommandTest: mock checkRequirements to allow the tests to run. Run php_parallel_lint before all other tests. Close #846 --- PHPCI/Helper/Lang.php | 2 +- PHPCI/Plugin/Util/Factory.php | 2 +- .../PHPCI/Command/CreateAdminCommandTest.php | 17 +-- Tests/PHPCI/Command/InstallCommandTest.php | 29 +++-- .../Controller/WebhookControllerTest.php | 10 +- Tests/PHPCI/Helper/AnsiConverterTest.php | 17 ++- Tests/PHPCI/Helper/BuildInterpolatorTest.php | 15 ++- Tests/PHPCI/Helper/CommandExecutorTest.php | 19 ++- Tests/PHPCI/Helper/LangTest.php | 13 +- Tests/PHPCI/Helper/MailerFactoryTest.php | 7 +- Tests/PHPCI/Logging/BuildLoggerTest.php | 15 ++- Tests/PHPCI/Logging/LoggerConfigTest.php | 12 +- Tests/PHPCI/Model/BuildTest.php | 8 +- Tests/PHPCI/Model/ProjectTest.php | 8 +- Tests/PHPCI/Plugin/EmailTest.php | 32 +++-- Tests/PHPCI/Plugin/PharTest.php | 14 +- .../Util/ComposerPluginInformationTest.php | 12 +- .../PHPCI/Plugin/Util/ExamplePluginConfig.php | 11 +- Tests/PHPCI/Plugin/Util/ExamplePlugins.php | 78 ----------- Tests/PHPCI/Plugin/Util/ExecutorTest.php | 28 ++-- Tests/PHPCI/Plugin/Util/FactoryTest.php | 78 +++++------ .../Plugin/Util/Fake/ExamplePluginFull.php | 36 ++++++ .../ExamplePluginWithNoConstructorArgs.php | 20 +++ .../ExamplePluginWithSingleOptionalArg.php | 26 ++++ .../ExamplePluginWithSingleRequiredArg.php | 29 +++++ ...xamplePluginWithSingleTypedRequiredArg.php | 29 +++++ .../Util/FilesPluginInformationTest.php | 12 +- Tests/PHPCI/Plugin/Util/TapParserTest.php | 11 +- Tests/PHPCI/Service/BuildServiceTest.php | 7 +- Tests/PHPCI/Service/ProjectServiceTest.php | 8 +- Tests/PHPCI/Service/UserServiceTest.php | 7 +- Tests/bootstrap.php | 1 + composer.json | 10 +- composer.lock | 121 +++++++++--------- loggerconfig.php.example | 8 ++ phinx.php | 8 ++ phpci.yml | 4 + 37 files changed, 492 insertions(+), 272 deletions(-) delete mode 100644 Tests/PHPCI/Plugin/Util/ExamplePlugins.php create mode 100644 Tests/PHPCI/Plugin/Util/Fake/ExamplePluginFull.php create mode 100644 Tests/PHPCI/Plugin/Util/Fake/ExamplePluginWithNoConstructorArgs.php create mode 100644 Tests/PHPCI/Plugin/Util/Fake/ExamplePluginWithSingleOptionalArg.php create mode 100644 Tests/PHPCI/Plugin/Util/Fake/ExamplePluginWithSingleRequiredArg.php create mode 100644 Tests/PHPCI/Plugin/Util/Fake/ExamplePluginWithSingleTypedRequiredArg.php diff --git a/PHPCI/Helper/Lang.php b/PHPCI/Helper/Lang.php index c86de1aa..42027cee 100644 --- a/PHPCI/Helper/Lang.php +++ b/PHPCI/Helper/Lang.php @@ -156,7 +156,7 @@ class Lang return null; } - require_once($langFile); + require($langFile); if (is_null($strings) || !is_array($strings) || !count($strings)) { return null; diff --git a/PHPCI/Plugin/Util/Factory.php b/PHPCI/Plugin/Util/Factory.php index 8127bcd2..76de2b7d 100644 --- a/PHPCI/Plugin/Util/Factory.php +++ b/PHPCI/Plugin/Util/Factory.php @@ -185,7 +185,7 @@ class Factory return $class->getName(); } elseif ($param->isArray()) { return self::TYPE_ARRAY; - } elseif ($param->isCallable()) { + } elseif (is_callable($param)) { return self::TYPE_CALLABLE; } else { return null; diff --git a/Tests/PHPCI/Command/CreateAdminCommandTest.php b/Tests/PHPCI/Command/CreateAdminCommandTest.php index 738d8f8a..10b7b7f3 100644 --- a/Tests/PHPCI/Command/CreateAdminCommandTest.php +++ b/Tests/PHPCI/Command/CreateAdminCommandTest.php @@ -1,13 +1,14 @@ command = $this->getMockBuilder('PHPCI\\Command\\CreateAdminCommand') - ->setConstructorArgs([$this->getMock('PHPCI\\Store\\UserStore')]) - ->setMethods(['reloadConfig']) + ->setConstructorArgs(array($this->getMock('PHPCI\\Store\\UserStore'))) + ->setMethods(array('reloadConfig')) ->getMock() ; $this->dialog = $this->getMockBuilder('Symfony\\Component\\Console\\Helper\\DialogHelper') - ->setMethods([ + ->setMethods(array( 'ask', 'askAndValidate', 'askHiddenResponse', - ]) + )) ->getMock() ; @@ -71,7 +72,7 @@ class CreateAdminCommandTest extends \PHPUnit_Framework_TestCase $this->dialog->expects($this->at(2))->method('askHiddenResponse')->will($this->returnValue('foobar123')); $commandTester = $this->getCommandTester(); - $commandTester->execute([]); + $commandTester->execute(array()); $this->assertEquals('User account created!' . PHP_EOL, $commandTester->getDisplay()); } diff --git a/Tests/PHPCI/Command/InstallCommandTest.php b/Tests/PHPCI/Command/InstallCommandTest.php index 4dd0f133..73b83462 100644 --- a/Tests/PHPCI/Command/InstallCommandTest.php +++ b/Tests/PHPCI/Command/InstallCommandTest.php @@ -1,16 +1,23 @@ getMock(); + $self = $this; + $command->expects($this->once())->method('verifyNotInstalled')->willReturn(true); $command->expects($this->once())->method('verifyDatabaseDetails')->willReturn(true); $command->expects($this->once())->method('setupDatabase')->willReturn(true); $command->expects($this->once())->method('createAdminUser')->will( - $this->returnCallback(function ($adm) {// use (&$admin) { - $this->admin = $adm; + $this->returnCallback(function ($adm) use ($self) { + $self->admin = $adm; }) ); $command->expects($this->once())->method('writeConfigFile')->will( - $this->returnCallback(function ($cfg) { //use (&$config) { - $this->config = $cfg; + $this->returnCallback(function ($cfg) use ($self) { + $self->config = $cfg; }) ); + $command->expects($this->once())->method('checkRequirements'); return $command; } diff --git a/Tests/PHPCI/Controller/WebhookControllerTest.php b/Tests/PHPCI/Controller/WebhookControllerTest.php index ddd13fc0..b3b31e42 100644 --- a/Tests/PHPCI/Controller/WebhookControllerTest.php +++ b/Tests/PHPCI/Controller/WebhookControllerTest.php @@ -1,18 +1,18 @@ markTestSkipped('External library do not support PHP 5.3'); + } + } + public function testConvert_convertToHtml() { $input = "\e[31mThis is red !\e[0m"; diff --git a/Tests/PHPCI/Helper/BuildInterpolatorTest.php b/Tests/PHPCI/Helper/BuildInterpolatorTest.php index c45e1b8c..8961b2d8 100644 --- a/Tests/PHPCI/Helper/BuildInterpolatorTest.php +++ b/Tests/PHPCI/Helper/BuildInterpolatorTest.php @@ -1,11 +1,18 @@ assertEquals($expectedOutput, $actualOutput); } } - \ No newline at end of file + diff --git a/Tests/PHPCI/Helper/CommandExecutorTest.php b/Tests/PHPCI/Helper/CommandExecutorTest.php index 8ae045dc..4cf14887 100644 --- a/Tests/PHPCI/Helper/CommandExecutorTest.php +++ b/Tests/PHPCI/Helper/CommandExecutorTest.php @@ -1,11 +1,18 @@ markTestSkipped("Cannot test UnixCommandExecutor on ".PHP_OS); + return; + } parent::setUp(); $mockBuildLogger = $this->prophesize('PHPCI\Logging\BuildLogger'); $this->testedExecutor = new UnixCommandExecutor($mockBuildLogger->reveal(), __DIR__ . "/"); @@ -52,4 +63,4 @@ class CommandExecutorTest extends ProphecyTestCase $returnValue = $this->testedExecutor->findBinary($thisFileName); $this->assertEquals(__DIR__ . "/" . $thisFileName, $returnValue); } -} \ No newline at end of file +} diff --git a/Tests/PHPCI/Helper/LangTest.php b/Tests/PHPCI/Helper/LangTest.php index 492cca52..b71ee41d 100644 --- a/Tests/PHPCI/Helper/LangTest.php +++ b/Tests/PHPCI/Helper/LangTest.php @@ -1,12 +1,19 @@ testedBuildLogger->logFailure($message, $exception); } } - \ No newline at end of file + diff --git a/Tests/PHPCI/Logging/LoggerConfigTest.php b/Tests/PHPCI/Logging/LoggerConfigTest.php index f1e78245..3baf10c1 100644 --- a/Tests/PHPCI/Logging/LoggerConfigTest.php +++ b/Tests/PHPCI/Logging/LoggerConfigTest.php @@ -1,6 +1,14 @@ assertNotSame($alternativeHandler, $actualHandler); } } - \ No newline at end of file + diff --git a/Tests/PHPCI/Model/BuildTest.php b/Tests/PHPCI/Model/BuildTest.php index b8ee3432..24508fe7 100644 --- a/Tests/PHPCI/Model/BuildTest.php +++ b/Tests/PHPCI/Model/BuildTest.php @@ -1,13 +1,15 @@ message = array(); $this->mailDelivered = true; + $self = $this; $this->mockProject = $this->getMock( '\PHPCI\Model\Project', @@ -85,8 +87,8 @@ class EmailTest extends \PHPUnit_Framework_TestCase $this->mockBuild->expects($this->any()) ->method('getStatus') - ->will($this->returnCallback(function () { - return $this->buildStatus; + ->will($this->returnCallback(function () use ($self) { + return $self->buildStatus; })); $this->mockBuild->expects($this->any()) @@ -138,6 +140,8 @@ class EmailTest extends \PHPUnit_Framework_TestCase // Reset current message. $this->message = array(); + $self = $this; + $this->testedEmailPlugin = $this->getMock( '\PHPCI\Plugin\Email', array('sendEmail'), @@ -150,13 +154,13 @@ class EmailTest extends \PHPUnit_Framework_TestCase $this->testedEmailPlugin->expects($this->any()) ->method('sendEmail') - ->will($this->returnCallback(function ($to, $cc, $subject, $body) { - $this->message['to'][] = $to; - $this->message['cc'] = $cc; - $this->message['subject'] = $subject; - $this->message['body'] = $body; + ->will($this->returnCallback(function ($to, $cc, $subject, $body) use ($self) { + $self->message['to'][] = $to; + $self->message['cc'] = $cc; + $self->message['subject'] = $subject; + $self->message['body'] = $body; - return $this->mailDelivered; + return $self->mailDelivered; })); } diff --git a/Tests/PHPCI/Plugin/PharTest.php b/Tests/PHPCI/Plugin/PharTest.php index 69f63a6a..edb17d69 100644 --- a/Tests/PHPCI/Plugin/PharTest.php +++ b/Tests/PHPCI/Plugin/PharTest.php @@ -1,5 +1,14 @@ markTestSkipped(); - throw new RuntimeException('Readonly Phar'); + $this->markTestSkipped('phar writing disabled in php.ini.'); } } diff --git a/Tests/PHPCI/Plugin/Util/ComposerPluginInformationTest.php b/Tests/PHPCI/Plugin/Util/ComposerPluginInformationTest.php index 113c1087..1174d44f 100644 --- a/Tests/PHPCI/Plugin/Util/ComposerPluginInformationTest.php +++ b/Tests/PHPCI/Plugin/Util/ComposerPluginInformationTest.php @@ -1,6 +1,14 @@ assertContainsOnly("string", $classes); } } - \ No newline at end of file + diff --git a/Tests/PHPCI/Plugin/Util/ExamplePluginConfig.php b/Tests/PHPCI/Plugin/Util/ExamplePluginConfig.php index 0b883071..5b0819c4 100644 --- a/Tests/PHPCI/Plugin/Util/ExamplePluginConfig.php +++ b/Tests/PHPCI/Plugin/Util/ExamplePluginConfig.php @@ -1,4 +1,13 @@ registerResource( // This function will be called when the resource is needed. @@ -10,4 +19,4 @@ return function (PHPCI\Plugin\Util\Factory $factory) { "requiredArgument", null ); -}; \ No newline at end of file +}; diff --git a/Tests/PHPCI/Plugin/Util/ExamplePlugins.php b/Tests/PHPCI/Plugin/Util/ExamplePlugins.php deleted file mode 100644 index bc67bd3f..00000000 --- a/Tests/PHPCI/Plugin/Util/ExamplePlugins.php +++ /dev/null @@ -1,78 +0,0 @@ -RequiredArgument = $requiredArgument; - } - - public function execute() - { - - } -} - -class ExamplePluginWithSingleTypedRequiredArg implements Plugin -{ - - public $RequiredArgument; - - function __construct(\stdClass $requiredArgument) - { - $this->RequiredArgument = $requiredArgument; - } - - public function execute() - { - - } -} - -class ExamplePluginFull implements Plugin { - - public $Options; - - public function __construct( - Builder $phpci, - Build $build, - array $options = array() - ) - { - $this->Options = $options; - } - - public function execute() - { - - } - -} \ No newline at end of file diff --git a/Tests/PHPCI/Plugin/Util/ExecutorTest.php b/Tests/PHPCI/Plugin/Util/ExecutorTest.php index 2bcc7780..8501f209 100644 --- a/Tests/PHPCI/Plugin/Util/ExecutorTest.php +++ b/Tests/PHPCI/Plugin/Util/ExecutorTest.php @@ -1,14 +1,19 @@ getFakePluginClassName('ExamplePluginFull'); - $this->mockFactory->buildPlugin($pluginNamespace . $pluginName, $options) + $this->mockFactory->buildPlugin($pluginClass, $options) ->shouldBeCalledTimes(1) ->willReturn($this->prophesize('PHPCI\Plugin')->reveal()); - $this->testedExecutor->executePlugin($pluginNamespace . $pluginName, $options); + $this->testedExecutor->executePlugin($pluginClass, $options); } public function testExecutePlugin_CallsExecuteOnFactoryBuildPlugin() @@ -142,5 +146,11 @@ class ExecutorTest extends ProphecyTestCase $this->testedExecutor->executePlugins($config, 'stageOne'); } + protected function getFakePluginClassName($pluginName) + { + $pluginNamespace = '\\Tests\\PHPCI\\Plugin\\Util\\Fake\\'; + + return $pluginNamespace . $pluginName; + } } - \ No newline at end of file + diff --git a/Tests/PHPCI/Plugin/Util/FactoryTest.php b/Tests/PHPCI/Plugin/Util/FactoryTest.php index 72ed714b..e609011a 100644 --- a/Tests/PHPCI/Plugin/Util/FactoryTest.php +++ b/Tests/PHPCI/Plugin/Util/FactoryTest.php @@ -1,8 +1,14 @@ testedFactory->buildPlugin($expectedPluginClass); - $this->assertInstanceOf($expectedPluginClass, $plugin); + $pluginClass = $this->getFakePluginClassName('ExamplePluginWithNoConstructorArgs'); + $plugin = $this->testedFactory->buildPlugin($pluginClass); + $this->assertInstanceOf($pluginClass, $plugin); } public function testBuildPluginFailsForNonPluginClasses() @@ -63,10 +68,9 @@ class FactoryTest extends \PHPUnit_Framework_TestCase { public function testBuildPluginWorksWithSingleOptionalArgConstructor() { - $namespace = '\\PHPCI\\Plugin\\Tests\\Util\\'; - $expectedPluginClass = $namespace . 'ExamplePluginWithSingleOptionalArg'; - $plugin = $this->testedFactory->buildPlugin($expectedPluginClass); - $this->assertInstanceOf($expectedPluginClass, $plugin); + $pluginClass = $this->getFakePluginClassName('ExamplePluginWithSingleOptionalArg'); + $plugin = $this->testedFactory->buildPlugin($pluginClass); + $this->assertInstanceOf($pluginClass, $plugin); } public function testBuildPluginThrowsExceptionIfMissingResourcesForRequiredArg() @@ -76,15 +80,13 @@ class FactoryTest extends \PHPUnit_Framework_TestCase { 'Unsatisfied dependency: requiredArgument' ); - $namespace = '\\PHPCI\\Plugin\\Tests\\Util\\'; - $expectedPluginClass = $namespace . 'ExamplePluginWithSingleRequiredArg'; - $plugin = $this->testedFactory->buildPlugin($expectedPluginClass); + $pluginClass = $this->getFakePluginClassName('ExamplePluginWithSingleRequiredArg'); + $plugin = $this->testedFactory->buildPlugin($pluginClass); } public function testBuildPluginLoadsArgumentsBasedOnName() { - $namespace = '\\PHPCI\\Plugin\\Tests\\Util\\'; - $expectedPluginClass = $namespace . 'ExamplePluginWithSingleRequiredArg'; + $pluginClass = $this->getFakePluginClassName('ExamplePluginWithSingleRequiredArg'); $this->testedFactory->registerResource( $this->resourceLoader, @@ -92,15 +94,14 @@ class FactoryTest extends \PHPUnit_Framework_TestCase { ); /** @var ExamplePluginWithSingleRequiredArg $plugin */ - $plugin = $this->testedFactory->buildPlugin($expectedPluginClass); + $plugin = $this->testedFactory->buildPlugin($pluginClass); $this->assertEquals($this->expectedResource, $plugin->RequiredArgument); } public function testBuildPluginLoadsArgumentsBasedOnType() { - $namespace = '\\PHPCI\\Plugin\\Tests\\Util\\'; - $expectedPluginClass = $namespace . 'ExamplePluginWithSingleTypedRequiredArg'; + $pluginClass = $this->getFakePluginClassName('ExamplePluginWithSingleTypedRequiredArg'); $this->testedFactory->registerResource( $this->resourceLoader, @@ -109,28 +110,26 @@ class FactoryTest extends \PHPUnit_Framework_TestCase { ); /** @var ExamplePluginWithSingleTypedRequiredArg $plugin */ - $plugin = $this->testedFactory->buildPlugin($expectedPluginClass); + $plugin = $this->testedFactory->buildPlugin($pluginClass); $this->assertEquals($this->expectedResource, $plugin->RequiredArgument); } public function testBuildPluginLoadsFullExample() { - $namespace = '\\PHPCI\\Plugin\\Tests\\Util\\'; - $expectedPluginClass = $namespace . 'ExamplePluginFull'; + $pluginClass = $this->getFakePluginClassName('ExamplePluginFull'); $this->registerBuildAndBuilder(); /** @var ExamplePluginFull $plugin */ - $plugin = $this->testedFactory->buildPlugin($expectedPluginClass); + $plugin = $this->testedFactory->buildPlugin($pluginClass); - $this->assertInstanceOf($expectedPluginClass, $plugin); + $this->assertInstanceOf($pluginClass, $plugin); } public function testBuildPluginLoadsFullExampleWithOptions() { - $namespace = '\\PHPCI\\Plugin\\Tests\\Util\\'; - $expectedPluginClass = $namespace . 'ExamplePluginFull'; + $pluginClass = $this->getFakePluginClassName('ExamplePluginFull'); $expectedArgs = array( 'thing' => "stuff" @@ -140,7 +139,7 @@ class FactoryTest extends \PHPUnit_Framework_TestCase { /** @var ExamplePluginFull $plugin */ $plugin = $this->testedFactory->buildPlugin( - $expectedPluginClass, + $pluginClass, $expectedArgs ); @@ -163,10 +162,8 @@ class FactoryTest extends \PHPUnit_Framework_TestCase { realpath(__DIR__ . "/ExamplePluginConfig.php") ); - $namespace = '\\PHPCI\\Plugin\\Tests\\Util\\'; - $pluginName = $namespace . 'ExamplePluginWithSingleRequiredArg'; - - $plugin = $this->testedFactory->buildPlugin($pluginName); + $pluginClass = $this->getFakePluginClassName('ExamplePluginWithSingleRequiredArg'); + $plugin = $this->testedFactory->buildPlugin($pluginClass); // The Example config file defines an array as the resource. $this->assertEquals( @@ -181,9 +178,11 @@ class FactoryTest extends \PHPUnit_Framework_TestCase { */ private function registerBuildAndBuilder() { + $self = $this; + $this->testedFactory->registerResource( - function () { - return $this->getMock( + function () use ($self) { + return $self->getMock( 'PHPCI\Builder', array(), array(), @@ -196,8 +195,8 @@ class FactoryTest extends \PHPUnit_Framework_TestCase { ); $this->testedFactory->registerResource( - function () { - return $this->getMock( + function () use ($self) { + return $self->getMock( 'PHPCI\Model\Build', array(), array(), @@ -206,8 +205,15 @@ class FactoryTest extends \PHPUnit_Framework_TestCase { ); }, null, - 'PHPCI\\Model\Build' + 'PHPCI\\Model\\Build' ); } + + protected function getFakePluginClassName($pluginName) + { + $pluginNamespace = '\\Tests\\PHPCI\\Plugin\\Util\\Fake\\'; + + return $pluginNamespace . $pluginName; + } } - \ No newline at end of file + diff --git a/Tests/PHPCI/Plugin/Util/Fake/ExamplePluginFull.php b/Tests/PHPCI/Plugin/Util/Fake/ExamplePluginFull.php new file mode 100644 index 00000000..fa81a352 --- /dev/null +++ b/Tests/PHPCI/Plugin/Util/Fake/ExamplePluginFull.php @@ -0,0 +1,36 @@ +Options = $options; + } + + public function execute() + { + + } +} diff --git a/Tests/PHPCI/Plugin/Util/Fake/ExamplePluginWithNoConstructorArgs.php b/Tests/PHPCI/Plugin/Util/Fake/ExamplePluginWithNoConstructorArgs.php new file mode 100644 index 00000000..544ec4e3 --- /dev/null +++ b/Tests/PHPCI/Plugin/Util/Fake/ExamplePluginWithNoConstructorArgs.php @@ -0,0 +1,20 @@ +RequiredArgument = $requiredArgument; + } + + public function execute() + { + + } +} diff --git a/Tests/PHPCI/Plugin/Util/Fake/ExamplePluginWithSingleTypedRequiredArg.php b/Tests/PHPCI/Plugin/Util/Fake/ExamplePluginWithSingleTypedRequiredArg.php new file mode 100644 index 00000000..b256c58c --- /dev/null +++ b/Tests/PHPCI/Plugin/Util/Fake/ExamplePluginWithSingleTypedRequiredArg.php @@ -0,0 +1,29 @@ +RequiredArgument = $requiredArgument; + } + + public function execute() + { + + } +} diff --git a/Tests/PHPCI/Plugin/Util/FilesPluginInformationTest.php b/Tests/PHPCI/Plugin/Util/FilesPluginInformationTest.php index 6e1605ab..1b674e9c 100644 --- a/Tests/PHPCI/Plugin/Util/FilesPluginInformationTest.php +++ b/Tests/PHPCI/Plugin/Util/FilesPluginInformationTest.php @@ -1,6 +1,14 @@ assertContainsOnly('string', $pluginInfos); } } - \ No newline at end of file + diff --git a/Tests/PHPCI/Plugin/Util/TapParserTest.php b/Tests/PHPCI/Plugin/Util/TapParserTest.php index 75c04bfa..732a44a6 100644 --- a/Tests/PHPCI/Plugin/Util/TapParserTest.php +++ b/Tests/PHPCI/Plugin/Util/TapParserTest.php @@ -1,5 +1,14 @@ =5.3.3" + }, + "require-dev": { + "jakub-onderka/php-console-highlighter": "~0.3", + "nette/tester": "~1.3" + }, + "suggest": { + "jakub-onderka/php-console-highlighter": "Highlight syntax in code snippet" + }, + "bin": [ + "parallel-lint" + ], + "type": "library", + "autoload": { + "classmap": [ + "./" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD" + ], + "authors": [ + { + "name": "Jakub Onderka", + "email": "jakub.onderka@gmail.com" + } + ], + "description": "This tool check syntax of PHP files about 20x faster than serial check.", + "homepage": "https://github.com/JakubOnderka/PHP-Parallel-Lint", + "time": "2014-10-05 10:19:39" + }, { "name": "monolog/monolog", "version": "1.12.0", @@ -172,12 +219,12 @@ "version": "v1.1.1", "source": { "type": "git", - "url": "https://github.com/fabpot/Pimple.git", + "url": "https://github.com/silexphp/Pimple.git", "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fabpot/Pimple/zipball/2019c145fe393923f3441b23f29bbdfaa5c58c4d", + "url": "https://api.github.com/repos/silexphp/Pimple/zipball/2019c145fe393923f3441b23f29bbdfaa5c58c4d", "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d", "shasum": "" }, @@ -202,9 +249,7 @@ "authors": [ { "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org", - "role": "Lead Developer" + "email": "fabien@symfony.com" } ], "description": "Pimple is a simple Dependency Injection Container for PHP 5.3", @@ -977,56 +1022,6 @@ ], "time": "2014-11-17 16:23:49" }, - { - "name": "phpspec/prophecy-phpunit", - "version": "v1.1.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy-phpunit.git", - "reference": "0d06c84b9f26aab2b9940354f0fe6037dd9799c3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy-phpunit/zipball/0d06c84b9f26aab2b9940354f0fe6037dd9799c3", - "reference": "0d06c84b9f26aab2b9940354f0fe6037dd9799c3", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "phpspec/prophecy": "~1.3" - }, - "suggest": { - "phpunit/phpunit": "if it is not installed globally" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Prophecy\\PhpUnit\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Christophe Coevoet", - "email": "stof@notk.org" - } - ], - "description": "PhpUnit test case integrating the Prophecy mocking library", - "homepage": "http://phpspec.net", - "keywords": [ - "phpunit", - "prophecy" - ], - "time": "2015-02-09 11:20:26" - }, { "name": "phpunit/php-code-coverage", "version": "2.0.15", @@ -1273,16 +1268,16 @@ }, { "name": "phpunit/phpunit", - "version": "4.5.0", + "version": "4.5.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "5b578d3865a9128b9c209b011fda6539ec06e7a5" + "reference": "d6429b0995b24a2d9dfe5587ee3a7071c1161af4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/5b578d3865a9128b9c209b011fda6539ec06e7a5", - "reference": "5b578d3865a9128b9c209b011fda6539ec06e7a5", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/d6429b0995b24a2d9dfe5587ee3a7071c1161af4", + "reference": "d6429b0995b24a2d9dfe5587ee3a7071c1161af4", "shasum": "" }, "require": { @@ -1292,8 +1287,8 @@ "ext-reflection": "*", "ext-spl": "*", "php": ">=5.3.3", - "phpspec/prophecy": "~1.3.1", - "phpunit/php-code-coverage": "~2.0", + "phpspec/prophecy": "~1.3,>=1.3.1", + "phpunit/php-code-coverage": "~2.0,>=2.0.11", "phpunit/php-file-iterator": "~1.3.2", "phpunit/php-text-template": "~1.2", "phpunit/php-timer": "~1.0.2", @@ -1341,7 +1336,7 @@ "testing", "xunit" ], - "time": "2015-02-05 15:51:19" + "time": "2015-03-29 09:24:05" }, { "name": "phpunit/phpunit-mock-objects", diff --git a/loggerconfig.php.example b/loggerconfig.php.example index d5abc96e..ffa22204 100644 --- a/loggerconfig.php.example +++ b/loggerconfig.php.example @@ -1,5 +1,13 @@ function() { diff --git a/phinx.php b/phinx.php index 3c407b1e..d64749dd 100644 --- a/phinx.php +++ b/phinx.php @@ -1,5 +1,13 @@ get('b8.database.servers.write'); diff --git a/phpci.yml b/phpci.yml index 43931360..8f51c88f 100644 --- a/phpci.yml +++ b/phpci.yml @@ -15,6 +15,10 @@ setup: prefer_dist: false test: + php_parallel_lint: + ignore: + # Only ignore vendor + - vendor/ php_mess_detector: allowed_warnings: 0 php_code_sniffer: