From 808cdbcbee0e66d3bb8d065b0b34ceedc6436328 Mon Sep 17 00:00:00 2001 From: webimpress Date: Tue, 24 Oct 2017 19:03:38 +0100 Subject: [PATCH 1/5] Switching to phpbench/phpbench based benchmarks --- .gitattributes | 1 + .travis.yml | 3 +- README.md | 12 + .../ExtractPriorityQueueBench.php | 28 +- .../InsertPriorityQueueBench.php | 28 +- .../RemovePriorityQueueBench.php | 23 +- composer.json | 2 +- composer.lock | 1103 ++++++++++++++--- phpbench.json | 5 + 9 files changed, 1009 insertions(+), 196 deletions(-) rename benchmark/ExtractPriorityQueue.php => benchmarks/ExtractPriorityQueueBench.php (71%) rename benchmark/InsertPriorityQueue.php => benchmarks/InsertPriorityQueueBench.php (66%) rename benchmark/RemovePriorityQueue.php => benchmarks/RemovePriorityQueueBench.php (69%) create mode 100644 phpbench.json diff --git a/.gitattributes b/.gitattributes index 5c681c3ac..c1ba0e6b8 100644 --- a/.gitattributes +++ b/.gitattributes @@ -5,4 +5,5 @@ .gitignore export-ignore .travis.yml export-ignore .composer.lock export-ignore +phpbench.json export-ignore phpunit.xml.dist export-ignore diff --git a/.travis.yml b/.travis.yml index f74705599..e459a6247 100644 --- a/.travis.yml +++ b/.travis.yml @@ -30,6 +30,7 @@ matrix: env: - DEPS=locked - CS_CHECK=true + - BENCHMARKS=true - TEST_COVERAGE=true - php: 7 env: @@ -67,6 +68,7 @@ install: script: - if [[ $TEST_COVERAGE == 'true' ]]; then composer test-coverage ; else composer test ; fi + - if [[ $BENCHMARKS == 'true' ]]; then vendor/bin/phpbench run --revs=2 --iterations=2 --report=aggregate ; fi - if [[ $CS_CHECK == 'true' ]]; then composer cs-check ; fi after_script: @@ -74,4 +76,3 @@ after_script: notifications: email: false - diff --git a/README.md b/README.md index b26184a07..46fdda951 100644 --- a/README.md +++ b/README.md @@ -15,3 +15,15 @@ class for different scopes like: - File issues at https://github.com/zendframework/zend-stdlib/issues - Documentation is at https://docs.zendframework.com/zend-stdlib/ + +## Benchmarks + +We provide scripts for benchmarking zend-stdlib using the +[PHPBench](https://github.com/phpbench/phpbench) framework; these can be +found in the `benchmarks/` directory. + +To execute the benchmarks you can run the following command: + +```bash +$ vendor/bin/phpbench run --report=aggregate +``` diff --git a/benchmark/ExtractPriorityQueue.php b/benchmarks/ExtractPriorityQueueBench.php similarity index 71% rename from benchmark/ExtractPriorityQueue.php rename to benchmarks/ExtractPriorityQueueBench.php index 8fa7527ab..5311a7bfd 100644 --- a/benchmark/ExtractPriorityQueue.php +++ b/benchmarks/ExtractPriorityQueueBench.php @@ -9,14 +9,21 @@ namespace ZendBench\Stdlib; -use Athletic\AthleticEvent; +use PhpBench\Benchmark\Metadata\Annotations\Iterations; +use PhpBench\Benchmark\Metadata\Annotations\Revs; +use PhpBench\Benchmark\Metadata\Annotations\Warmup; use Zend\Stdlib\FastPriorityQueue; use Zend\Stdlib\PriorityQueue; use Zend\Stdlib\SplPriorityQueue; -class ExtractPriorityQueue extends AthleticEvent +/** + * @Revs(1000) + * @Iterations(10) + * @Warmup(2) + */ +class ExtractPriorityQueueBench { - public function classSetUp() + public function __construct() { $this->splPriorityQueue = new SplPriorityQueue(); $this->fastPriorityQueue = new FastPriorityQueue(); @@ -30,26 +37,17 @@ public function classSetUp() } } - /** - * @iterations 5000 - */ - public function extractSplPriorityQueue() + public function benchExtractSplPriorityQueue() { $this->splPriorityQueue->extract(); } - /** - * @iterations 5000 - */ - public function extractPriorityQueue() + public function benchExtractPriorityQueue() { $this->priorityQueue->extract(); } - /** - * @iterations 5000 - */ - public function extractFastPriorityQueue() + public function benchExtractFastPriorityQueue() { $this->fastPriorityQueue->extract(); } diff --git a/benchmark/InsertPriorityQueue.php b/benchmarks/InsertPriorityQueueBench.php similarity index 66% rename from benchmark/InsertPriorityQueue.php rename to benchmarks/InsertPriorityQueueBench.php index 561c53597..db2bf5af7 100644 --- a/benchmark/InsertPriorityQueue.php +++ b/benchmarks/InsertPriorityQueueBench.php @@ -9,40 +9,38 @@ namespace ZendBench\Stdlib; -use Athletic\AthleticEvent; +use PhpBench\Benchmark\Metadata\Annotations\Iterations; +use PhpBench\Benchmark\Metadata\Annotations\Revs; +use PhpBench\Benchmark\Metadata\Annotations\Warmup; use Zend\Stdlib\FastPriorityQueue; use Zend\Stdlib\PriorityQueue; use Zend\Stdlib\SplPriorityQueue; -class InsertPriorityQueue extends AthleticEvent +/** + * @Revs(1000) + * @Iterations(10) + * @Warmup(2) + */ +class InsertPriorityQueueBench { - public function classSetUp() + public function __construct() { $this->splPriorityQueue = new SplPriorityQueue(); $this->fastPriorityQueue = new FastPriorityQueue(); $this->priorityQueue = new PriorityQueue(); } - /** - * @iterations 5000 - */ - public function insertSplPriorityQueue() + public function benchInsertSplPriorityQueue() { $this->splPriorityQueue->insert('foo', rand(1, 100)); } - /** - * @iterations 5000 - */ - public function insertPriorityQueue() + public function benchInsertPriorityQueue() { $this->priorityQueue->insert('foo', rand(1, 100)); } - /** - * @iterations 5000 - */ - public function insertFastPriorityQueue() + public function benchInsertFastPriorityQueue() { $this->fastPriorityQueue->insert('foo', rand(1, 100)); } diff --git a/benchmark/RemovePriorityQueue.php b/benchmarks/RemovePriorityQueueBench.php similarity index 69% rename from benchmark/RemovePriorityQueue.php rename to benchmarks/RemovePriorityQueueBench.php index 1cfd35b74..b7cbbb177 100644 --- a/benchmark/RemovePriorityQueue.php +++ b/benchmarks/RemovePriorityQueueBench.php @@ -9,13 +9,20 @@ namespace ZendBench\Stdlib; -use Athletic\AthleticEvent; +use PhpBench\Benchmark\Metadata\Annotations\Iterations; +use PhpBench\Benchmark\Metadata\Annotations\Revs; +use PhpBench\Benchmark\Metadata\Annotations\Warmup; use Zend\Stdlib\FastPriorityQueue; use Zend\Stdlib\PriorityQueue; -class RemovePriorityQueue extends AthleticEvent +/** + * @Revs(1000) + * @Iterations(10) + * @Warmup(2) + */ +class RemovePriorityQueueBench { - public function classSetUp() + public function __construct() { $this->fastPriorityQueue = new FastPriorityQueue(); $this->priorityQueue = new PriorityQueue(); @@ -27,18 +34,12 @@ public function classSetUp() } } - /** - * @iterations 1000 - */ - public function removePriorityQueue() + public function benchRemovePriorityQueue() { $this->priorityQueue->remove('foo'); } - /** - * @iterations 1000 - */ - public function removeFastPriorityQueue() + public function benchRemoveFastPriorityQueue() { $this->fastPriorityQueue->remove('foo'); } diff --git a/composer.json b/composer.json index 5b1e8fbbb..e221dbc99 100644 --- a/composer.json +++ b/composer.json @@ -16,7 +16,7 @@ "php": "^5.6 || ^7.0" }, "require-dev": { - "athletic/athletic": "~0.1", + "phpbench/phpbench": "^0.13", "phpunit/PHPUnit": "^5.7.21 || ^6.3", "zendframework/zend-coding-standard": "~1.0.0" }, diff --git a/composer.lock b/composer.lock index ab30216a6..ee43dacd2 100644 --- a/composer.lock +++ b/composer.lock @@ -4,42 +4,126 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "e770b9ff67eac6e91dc1ecec60af9f0a", + "content-hash": "6fa4b5a45d377d9562bb5b894c005faf", "packages": [], "packages-dev": [ { - "name": "athletic/athletic", - "version": "v0.1.8", + "name": "beberlei/assert", + "version": "v2.7.8", "source": { "type": "git", - "url": "https://github.com/polyfractal/athletic.git", - "reference": "51fe4b6e5298dd8af187825a4e57745898e37f0e" + "url": "https://github.com/beberlei/assert.git", + "reference": "be6aa40e3f2d2f0766f159409ab9a80c8db6ca23" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/polyfractal/athletic/zipball/51fe4b6e5298dd8af187825a4e57745898e37f0e", - "reference": "51fe4b6e5298dd8af187825a4e57745898e37f0e", + "url": "https://api.github.com/repos/beberlei/assert/zipball/be6aa40e3f2d2f0766f159409ab9a80c8db6ca23", + "reference": "be6aa40e3f2d2f0766f159409ab9a80c8db6ca23", "shasum": "" }, "require": { - "nategood/commando": "0.2.1", - "php": ">=5.3.9", - "pimple/pimple": ">=1.0,<3.0", - "zeptech/annotations": "1.1.*" + "ext-mbstring": "*", + "php": ">=5.3" }, "require-dev": { - "mikey179/vfsstream": "1.2.*", - "mockery/mockery": "0.8.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "0.6.*" + "friendsofphp/php-cs-fixer": "^2.1.1", + "phpunit/phpunit": "^4|^5" }, - "bin": [ - "bin/athletic" + "type": "library", + "autoload": { + "psr-4": { + "Assert\\": "lib/Assert" + }, + "files": [ + "lib/Assert/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-2-Clause" + ], + "authors": [ + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de", + "role": "Lead Developer" + }, + { + "name": "Richard Quadling", + "email": "rquadling@gmail.com", + "role": "Collaborator" + } + ], + "description": "Thin assertion library for input validation in business models.", + "keywords": [ + "assert", + "assertion", + "validation" + ], + "time": "2017-10-20T15:59:40+00:00" + }, + { + "name": "container-interop/container-interop", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/container-interop/container-interop.git", + "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/container-interop/container-interop/zipball/79cbf1341c22ec75643d841642dd5d6acd83bdb8", + "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8", + "shasum": "" + }, + "require": { + "psr/container": "^1.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Interop\\Container\\": "src/Interop/Container/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" ], + "description": "Promoting the interoperability of container objects (DIC, SL, etc.)", + "homepage": "https://github.com/container-interop/container-interop", + "time": "2017-02-14T19:40:03+00:00" + }, + { + "name": "doctrine/annotations", + "version": "v1.5.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/annotations.git", + "reference": "5beebb01b025c94e93686b7a0ed3edae81fe3e7f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/5beebb01b025c94e93686b7a0ed3edae81fe3e7f", + "reference": "5beebb01b025c94e93686b7a0ed3edae81fe3e7f", + "shasum": "" + }, + "require": { + "doctrine/lexer": "1.*", + "php": "^7.1" + }, + "require-dev": { + "doctrine/cache": "1.*", + "phpunit/phpunit": "^5.7" + }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.5.x-dev" + } + }, "autoload": { - "psr-0": { - "Athletic": "src/" + "psr-4": { + "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" } }, "notification-url": "https://packagist.org/downloads/", @@ -48,16 +132,34 @@ ], "authors": [ { - "name": "Zachary Tong" + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" } ], - "description": "PHP Benchmarking Framework", + "description": "Docblock Annotations Parser", + "homepage": "http://www.doctrine-project.org", "keywords": [ - "benchmark", - "benchmarking", - "profiling" + "annotations", + "docblock", + "parser" ], - "time": "2014-06-03T18:32:22+00:00" + "time": "2017-07-22T10:58:02+00:00" }, { "name": "doctrine/instantiator", @@ -114,26 +216,31 @@ "time": "2017-07-22T11:58:36+00:00" }, { - "name": "kevinlebrun/colors.php", - "version": "0.2.0", + "name": "doctrine/lexer", + "version": "v1.0.1", "source": { "type": "git", - "url": "https://github.com/kevinlebrun/colors.php.git", - "reference": "b13d23b9365ece519abc0eaa77cd3061c5810d30" + "url": "https://github.com/doctrine/lexer.git", + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/kevinlebrun/colors.php/zipball/b13d23b9365ece519abc0eaa77cd3061c5810d30", - "reference": "b13d23b9365ece519abc0eaa77cd3061c5810d30", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=5.3.2" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, "autoload": { "psr-0": { - "Colors": "lib/" + "Doctrine\\Common\\Lexer\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", @@ -142,114 +249,206 @@ ], "authors": [ { - "name": "Kevin Le Brun", - "email": "lebrun.k@gmail.com", - "homepage": "http://kevinlebrun.fr", - "role": "developer" + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" } ], - "description": "Colors for PHP CLI scripts", - "homepage": "https://github.com/kevinlebrun/colors.php", + "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "http://www.doctrine-project.org", "keywords": [ - "cli", - "color", - "colors", - "console", - "shell" + "lexer", + "parser" ], - "time": "2012-03-25T18:18:10+00:00" + "time": "2014-09-09T13:34:57+00:00" }, { - "name": "myclabs/deep-copy", - "version": "1.7.0", + "name": "lstrojny/functional-php", + "version": "1.6.0", "source": { "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e" + "url": "https://github.com/lstrojny/functional-php.git", + "reference": "c0c15f048355d0a7ab17914022ec1f901fe5144a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e", - "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e", + "url": "https://api.github.com/repos/lstrojny/functional-php/zipball/c0c15f048355d0a7ab17914022ec1f901fe5144a", + "reference": "c0c15f048355d0a7ab17914022ec1f901fe5144a", "shasum": "" }, "require": { - "php": "^5.6 || ^7.0" + "php": "~7" }, "require-dev": { - "doctrine/collections": "^1.0", - "doctrine/common": "^2.6", - "phpunit/phpunit": "^4.1" + "phpunit/phpunit": "~6" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2-dev" + } + }, "autoload": { "psr-4": { - "DeepCopy\\": "src/DeepCopy/" + "Functional\\": "src/Functional" }, "files": [ - "src/DeepCopy/deep_copy.php" + "src/Functional/Average.php", + "src/Functional/Capture.php", + "src/Functional/ConstFunction.php", + "src/Functional/CompareOn.php", + "src/Functional/CompareObjectHashOn.php", + "src/Functional/Compose.php", + "src/Functional/Concat.php", + "src/Functional/Contains.php", + "src/Functional/Curry.php", + "src/Functional/CurryN.php", + "src/Functional/Difference.php", + "src/Functional/DropFirst.php", + "src/Functional/DropLast.php", + "src/Functional/Each.php", + "src/Functional/Equal.php", + "src/Functional/ErrorToException.php", + "src/Functional/Every.php", + "src/Functional/False.php", + "src/Functional/Falsy.php", + "src/Functional/Filter.php", + "src/Functional/First.php", + "src/Functional/FirstIndexOf.php", + "src/Functional/FlatMap.php", + "src/Functional/Flatten.php", + "src/Functional/Flip.php", + "src/Functional/GreaterThan.php", + "src/Functional/GreaterThanOrEqual.php", + "src/Functional/Group.php", + "src/Functional/Head.php", + "src/Functional/Id.php", + "src/Functional/IfElse.php", + "src/Functional/Identical.php", + "src/Functional/IndexesOf.php", + "src/Functional/Intersperse.php", + "src/Functional/Invoke.php", + "src/Functional/InvokeFirst.php", + "src/Functional/InvokeIf.php", + "src/Functional/InvokeLast.php", + "src/Functional/Invoker.php", + "src/Functional/Last.php", + "src/Functional/LastIndexOf.php", + "src/Functional/LessThan.php", + "src/Functional/LessThanOrEqual.php", + "src/Functional/LexicographicCompare.php", + "src/Functional/Map.php", + "src/Functional/Match.php", + "src/Functional/Maximum.php", + "src/Functional/Memoize.php", + "src/Functional/Minimum.php", + "src/Functional/None.php", + "src/Functional/Not.php", + "src/Functional/PartialAny.php", + "src/Functional/PartialLeft.php", + "src/Functional/PartialMethod.php", + "src/Functional/PartialRight.php", + "src/Functional/Partition.php", + "src/Functional/Pick.php", + "src/Functional/Pluck.php", + "src/Functional/Poll.php", + "src/Functional/Product.php", + "src/Functional/Ratio.php", + "src/Functional/ReduceLeft.php", + "src/Functional/ReduceRight.php", + "src/Functional/Reindex.php", + "src/Functional/Reject.php", + "src/Functional/Retry.php", + "src/Functional/Select.php", + "src/Functional/SequenceConstant.php", + "src/Functional/SequenceExponential.php", + "src/Functional/SequenceLinear.php", + "src/Functional/Some.php", + "src/Functional/Sort.php", + "src/Functional/Sum.php", + "src/Functional/SuppressError.php", + "src/Functional/Tail.php", + "src/Functional/TailRecursion.php", + "src/Functional/True.php", + "src/Functional/Truthy.php", + "src/Functional/Unique.php", + "src/Functional/With.php", + "src/Functional/Zip.php", + "src/Functional/ZipAll.php" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "Create deep copies (clones) of your objects", + "authors": [ + { + "name": "Lars Strojny", + "email": "lstrojny@php.net", + "homepage": "http://usrportage.de" + }, + { + "name": "Max Beutel", + "email": "nash12@gmail.com" + } + ], + "description": "Functional primitives for PHP", "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" + "functional" ], - "time": "2017-10-19T19:58:43+00:00" + "time": "2017-05-08T10:17:44+00:00" }, { - "name": "nategood/commando", - "version": "0.2.1", + "name": "myclabs/deep-copy", + "version": "1.7.0", "source": { "type": "git", - "url": "https://github.com/nategood/commando.git", - "reference": "b8e475d08a6ff1c0f2b89391e777c4e71fc1a6e1" + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nategood/commando/zipball/b8e475d08a6ff1c0f2b89391e777c4e71fc1a6e1", - "reference": "b8e475d08a6ff1c0f2b89391e777c4e71fc1a6e1", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e", + "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e", "shasum": "" }, "require": { - "kevinlebrun/colors.php": "0.2.*", - "php": ">=5.3" + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "doctrine/collections": "^1.0", + "doctrine/common": "^2.6", + "phpunit/phpunit": "^4.1" }, "type": "library", "autoload": { - "psr-0": { - "Commando": "src/" - } + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + }, + "files": [ + "src/DeepCopy/deep_copy.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "authors": [ - { - "name": "Nate Good", - "email": "me@nategood.com", - "homepage": "http://nategood.com" - } - ], - "description": "PHP CLI Commando Style", - "homepage": "http://github.com/nategood/commando", + "description": "Create deep copies (clones) of your objects", "keywords": [ - "automation", - "cli", - "command", - "command line", - "command line interface", - "scripting" - ], - "time": "2012-10-07T15:35:37+00:00" + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "time": "2017-10-19T19:58:43+00:00" }, { "name": "phar-io/manifest", @@ -353,6 +552,161 @@ "description": "Library for handling version information and constraints", "time": "2017-03-05T17:38:23+00:00" }, + { + "name": "phpbench/container", + "version": "1.1", + "source": { + "type": "git", + "url": "https://github.com/phpbench/container.git", + "reference": "8cd29cf58104e68b4d5cc2af5703e6235e41e7b9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpbench/container/zipball/8cd29cf58104e68b4d5cc2af5703e6235e41e7b9", + "reference": "8cd29cf58104e68b4d5cc2af5703e6235e41e7b9", + "shasum": "" + }, + "require": { + "container-interop/container-interop": "^1.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "PhpBench\\DependencyInjection\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Leech", + "email": "daniel@dantleech.com" + } + ], + "description": "Simple, configurable, service container.", + "time": "2017-07-18T12:10:10+00:00" + }, + { + "name": "phpbench/dom", + "version": "0.2.0", + "source": { + "type": "git", + "url": "https://github.com/phpbench/dom.git", + "reference": "b135378dd0004c05ba5446aeddaf0b83339c1c4c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpbench/dom/zipball/b135378dd0004c05ba5446aeddaf0b83339c1c4c", + "reference": "b135378dd0004c05ba5446aeddaf0b83339c1c4c", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "php": "^5.4|^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "PhpBench\\Dom\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Leech", + "email": "daniel@dantleech.com" + } + ], + "description": "DOM wrapper to simplify working with the PHP DOM implementation", + "time": "2016-02-27T12:15:56+00:00" + }, + { + "name": "phpbench/phpbench", + "version": "0.13.0", + "source": { + "type": "git", + "url": "https://github.com/phpbench/phpbench.git", + "reference": "0dab4d0b6a699c27105d677398b2ea8046706292" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpbench/phpbench/zipball/0dab4d0b6a699c27105d677398b2ea8046706292", + "reference": "0dab4d0b6a699c27105d677398b2ea8046706292", + "shasum": "" + }, + "require": { + "beberlei/assert": "^2.4", + "doctrine/annotations": "^1.2.7", + "ext-dom": "*", + "ext-json": "*", + "ext-pcre": "*", + "ext-reflection": "*", + "ext-spl": "*", + "lstrojny/functional-php": "1.0|^1.2.3", + "php": "^5.6|^7.0", + "phpbench/container": "~1.0", + "phpbench/dom": "~0.2.0", + "seld/jsonlint": "^1.0", + "symfony/console": "^2.4|^3.0", + "symfony/debug": "^2.4|^3.0", + "symfony/filesystem": "^2.4|^3.0", + "symfony/finder": "^2.4|^3.0", + "symfony/options-resolver": "^2.6|^3.0", + "symfony/process": "^2.1|^3.0" + }, + "require-dev": { + "doctrine/dbal": "^2.4", + "liip/rmt": "^1.2", + "padraic/phar-updater": "^1.0", + "phpunit/phpunit": "^4.6" + }, + "bin": [ + "bin/phpbench" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "PhpBench\\": "lib/", + "PhpBench\\Extensions\\Dbal\\": "extensions/dbal/lib/", + "PhpBench\\Extensions\\XDebug\\": "extensions/xdebug/lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Leech", + "email": "daniel@dantleech.com" + } + ], + "description": "PHP Benchmarking Framework", + "time": "2016-11-20T22:04:57+00:00" + }, { "name": "phpdocumentor/reflection-common", "version": "1.0.1", @@ -956,17 +1310,17 @@ "time": "2017-08-03T14:08:16+00:00" }, { - "name": "pimple/pimple", - "version": "v2.1.1", + "name": "psr/container", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/silexphp/Pimple.git", - "reference": "ea22fb2880faf7b7b0e17c9809c6fe25b071fd76" + "url": "https://github.com/php-fig/container.git", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/silexphp/Pimple/zipball/ea22fb2880faf7b7b0e17c9809c6fe25b071fd76", - "reference": "ea22fb2880faf7b7b0e17c9809c6fe25b071fd76", + "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", "shasum": "" }, "require": { @@ -975,12 +1329,12 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1.x-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { - "psr-0": { - "Pimple": "src/" + "psr-4": { + "Psr\\Container\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -989,30 +1343,80 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" } ], - "description": "Pimple is a simple Dependency Injection Container for PHP 5.3", - "homepage": "http://pimple.sensiolabs.org", + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", "keywords": [ + "PSR-11", "container", - "dependency injection" + "container-interface", + "container-interop", + "psr" ], - "time": "2014-07-24T07:10:08+00:00" + "time": "2017-02-14T16:28:37+00:00" }, { - "name": "sebastian/code-unit-reverse-lookup", - "version": "1.0.1", + "name": "psr/log", + "version": "1.0.2", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" + "url": "https://github.com/php-fig/log.git", + "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", - "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", + "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "time": "2016-10-10T12:19:37+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", + "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", "shasum": "" }, "require": { @@ -1560,6 +1964,55 @@ "homepage": "https://github.com/sebastianbergmann/version", "time": "2016-10-03T07:35:21+00:00" }, + { + "name": "seld/jsonlint", + "version": "1.6.1", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/jsonlint.git", + "reference": "50d63f2858d87c4738d5b76a7dcbb99fa8cf7c77" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/50d63f2858d87c4738d5b76a7dcbb99fa8cf7c77", + "reference": "50d63f2858d87c4738d5b76a7dcbb99fa8cf7c77", + "shasum": "" + }, + "require": { + "php": "^5.3 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.5" + }, + "bin": [ + "bin/jsonlint" + ], + "type": "library", + "autoload": { + "psr-4": { + "Seld\\JsonLint\\": "src/Seld/JsonLint/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "JSON Linter", + "keywords": [ + "json", + "linter", + "parser", + "validator" + ], + "time": "2017-06-18T15:11:04+00:00" + }, { "name": "squizlabs/php_codesniffer", "version": "2.9.1", @@ -1638,6 +2091,390 @@ ], "time": "2017-05-22T02:43:20+00:00" }, + { + "name": "symfony/console", + "version": "v3.3.10", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "116bc56e45a8e5572e51eb43ab58c769a352366c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/116bc56e45a8e5572e51eb43ab58c769a352366c", + "reference": "116bc56e45a8e5572e51eb43ab58c769a352366c", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "symfony/debug": "~2.8|~3.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/dependency-injection": "<3.3" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~3.3", + "symfony/dependency-injection": "~3.3", + "symfony/event-dispatcher": "~2.8|~3.0", + "symfony/filesystem": "~2.8|~3.0", + "symfony/process": "~2.8|~3.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/filesystem": "", + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Console Component", + "homepage": "https://symfony.com", + "time": "2017-10-02T06:42:24+00:00" + }, + { + "name": "symfony/debug", + "version": "v3.3.10", + "source": { + "type": "git", + "url": "https://github.com/symfony/debug.git", + "reference": "eb95d9ce8f18dcc1b3dfff00cb624c402be78ffd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/debug/zipball/eb95d9ce8f18dcc1b3dfff00cb624c402be78ffd", + "reference": "eb95d9ce8f18dcc1b3dfff00cb624c402be78ffd", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "psr/log": "~1.0" + }, + "conflict": { + "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" + }, + "require-dev": { + "symfony/http-kernel": "~2.8|~3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Debug\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Debug Component", + "homepage": "https://symfony.com", + "time": "2017-10-02T06:42:24+00:00" + }, + { + "name": "symfony/filesystem", + "version": "v3.3.10", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "90bc45abf02ae6b7deb43895c1052cb0038506f1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/90bc45abf02ae6b7deb43895c1052cb0038506f1", + "reference": "90bc45abf02ae6b7deb43895c1052cb0038506f1", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Filesystem Component", + "homepage": "https://symfony.com", + "time": "2017-10-03T13:33:10+00:00" + }, + { + "name": "symfony/finder", + "version": "v3.3.10", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "773e19a491d97926f236942484cb541560ce862d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/773e19a491d97926f236942484cb541560ce862d", + "reference": "773e19a491d97926f236942484cb541560ce862d", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Finder Component", + "homepage": "https://symfony.com", + "time": "2017-10-02T06:42:24+00:00" + }, + { + "name": "symfony/options-resolver", + "version": "v3.3.10", + "source": { + "type": "git", + "url": "https://github.com/symfony/options-resolver.git", + "reference": "ee4e22978fe885b54ee5da8c7964f0a5301abfb6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/ee4e22978fe885b54ee5da8c7964f0a5301abfb6", + "reference": "ee4e22978fe885b54ee5da8c7964f0a5301abfb6", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\OptionsResolver\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony OptionsResolver Component", + "homepage": "https://symfony.com", + "keywords": [ + "config", + "configuration", + "options" + ], + "time": "2017-07-29T21:54:42+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.6.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296", + "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "time": "2017-10-11T12:05:26+00:00" + }, + { + "name": "symfony/process", + "version": "v3.3.10", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "fdf89e57a723a29baf536e288d6e232c059697b1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/fdf89e57a723a29baf536e288d6e232c059697b1", + "reference": "fdf89e57a723a29baf536e288d6e232c059697b1", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Process Component", + "homepage": "https://symfony.com", + "time": "2017-10-02T06:42:24+00:00" + }, { "name": "theseer/tokenizer", "version": "1.1.0", @@ -1756,46 +2593,6 @@ "zf" ], "time": "2016-11-09T21:30:43+00:00" - }, - { - "name": "zeptech/annotations", - "version": "1.1.0", - "source": { - "type": "git", - "url": "https://github.com/pgraham/php-annotations.git", - "reference": "9cd042daa9ace184d04b49f0605edf73f19a9c71" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/pgraham/php-annotations/zipball/9cd042daa9ace184d04b49f0605edf73f19a9c71", - "reference": "9cd042daa9ace184d04b49f0605edf73f19a9c71", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "zpt\\anno": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD" - ], - "authors": [ - { - "name": "Philip Graham", - "email": "philip@zeptech.ca" - } - ], - "description": "DOC Block annotation parsing for PHP", - "homepage": "https://github.com/pgraham/php-annotations", - "keywords": [ - "annotations" - ], - "time": "2013-05-29T02:35:23+00:00" } ], "aliases": [], diff --git a/phpbench.json b/phpbench.json new file mode 100644 index 000000000..f7b810369 --- /dev/null +++ b/phpbench.json @@ -0,0 +1,5 @@ +{ + "bootstrap": "vendor/autoload.php", + "path": "benchmarks", + "retry_threshold": 5 +} From 0e5cfffd6afb2a50ece85bd35cdb3e3169505ea2 Mon Sep 17 00:00:00 2001 From: webimpress Date: Tue, 24 Oct 2017 17:13:00 +0100 Subject: [PATCH 2/5] Added phpbench/phpbench to legacy dependencies --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index e459a6247..d2f512601 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,7 +10,7 @@ env: global: - COMPOSER_ARGS="--no-interaction" - COVERAGE_DEPS="satooshi/php-coveralls" - - LEGACY_DEPS="phpunit/phpunit" + - LEGACY_DEPS="phpbench/phpbench phpunit/phpunit" matrix: include: From 15f168ca12de52ea31a14989abb9f0f71f8abd4d Mon Sep 17 00:00:00 2001 From: webimpress Date: Tue, 24 Oct 2017 17:13:37 +0100 Subject: [PATCH 3/5] Install legacy dependencies only when testing locked dependencies --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index d2f512601..eca191922 100644 --- a/.travis.yml +++ b/.travis.yml @@ -60,7 +60,7 @@ before_install: install: - travis_retry composer install $COMPOSER_ARGS --ignore-platform-reqs - - if [[ $TRAVIS_PHP_VERSION =~ ^5.6 ]]; then travis_retry composer update $COMPOSER_ARGS --with-dependencies $LEGACY_DEPS ; fi + - if [[ $DEPS == 'locked' && $TRAVIS_PHP_VERSION =~ ^5.6 ]]; then travis_retry composer update $COMPOSER_ARGS --with-dependencies $LEGACY_DEPS ; fi - if [[ $DEPS == 'latest' ]]; then travis_retry composer update $COMPOSER_ARGS ; fi - if [[ $DEPS == 'lowest' ]]; then travis_retry composer update --prefer-lowest --prefer-stable $COMPOSER_ARGS ; fi - if [[ $TEST_COVERAGE == 'true' ]]; then travis_retry composer require --dev $COMPOSER_ARGS $COVERAGE_DEPS ; fi From 9c8bae236a5130de6712a7a8a8d977a736ee89c6 Mon Sep 17 00:00:00 2001 From: webimpress Date: Tue, 24 Oct 2017 17:20:45 +0100 Subject: [PATCH 4/5] Run cs-check, coverage and benchmarks on PHP 7.1 --- .travis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index eca191922..4644e2d2e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -29,9 +29,6 @@ matrix: - php: 7 env: - DEPS=locked - - CS_CHECK=true - - BENCHMARKS=true - - TEST_COVERAGE=true - php: 7 env: - DEPS=latest @@ -41,6 +38,9 @@ matrix: - php: 7.1 env: - DEPS=locked + - CS_CHECK=true + - BENCHMARKS=true + - TEST_COVERAGE=true - php: 7.1 env: - DEPS=latest From 0fb21585ce512d0d8b2f22312ffd373f8554f982 Mon Sep 17 00:00:00 2001 From: webimpress Date: Tue, 24 Oct 2017 17:21:19 +0100 Subject: [PATCH 5/5] Updated legacy dependencies These needs to be updated also on PHP 7.0 because some libraries already requires PHP 7.1 --- .travis.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4644e2d2e..0cd84eb70 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,7 +10,6 @@ env: global: - COMPOSER_ARGS="--no-interaction" - COVERAGE_DEPS="satooshi/php-coveralls" - - LEGACY_DEPS="phpbench/phpbench phpunit/phpunit" matrix: include: @@ -20,6 +19,7 @@ matrix: - php: 5.6 env: - DEPS=locked + - LEGACY_DEPS="phpbench/phpbench phpunit/phpunit" - php: 5.6 env: - DEPS=latest @@ -29,6 +29,7 @@ matrix: - php: 7 env: - DEPS=locked + - LEGACY_DEPS="phpbench/phpbench phpunit/phpunit" - php: 7 env: - DEPS=latest @@ -60,7 +61,7 @@ before_install: install: - travis_retry composer install $COMPOSER_ARGS --ignore-platform-reqs - - if [[ $DEPS == 'locked' && $TRAVIS_PHP_VERSION =~ ^5.6 ]]; then travis_retry composer update $COMPOSER_ARGS --with-dependencies $LEGACY_DEPS ; fi + - if [[ $LEGACY_DEPS != '' ]]; then travis_retry composer update $COMPOSER_ARGS --with-dependencies $LEGACY_DEPS ; fi - if [[ $DEPS == 'latest' ]]; then travis_retry composer update $COMPOSER_ARGS ; fi - if [[ $DEPS == 'lowest' ]]; then travis_retry composer update --prefer-lowest --prefer-stable $COMPOSER_ARGS ; fi - if [[ $TEST_COVERAGE == 'true' ]]; then travis_retry composer require --dev $COMPOSER_ARGS $COVERAGE_DEPS ; fi