From 4daabeea48aa500176ebf36f6a70d5177cdc3fbb Mon Sep 17 00:00:00 2001 From: Gerben Geijteman Date: Tue, 2 Apr 2019 13:20:46 +0200 Subject: [PATCH 1/2] Add infected --- .gitignore | 3 +- .travis.yml | 1 + composer.json | 7 +- composer.lock | 390 +++++++++++++++++++++++++++++++++++++++++++- infection.json.dist | 14 ++ 5 files changed, 408 insertions(+), 7 deletions(-) create mode 100644 infection.json.dist diff --git a/.gitignore b/.gitignore index 87a295b..e2c17df 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ /clover.xml /vendor/ /.idea/ -/.php_cs.cache \ No newline at end of file +/.php_cs.cache +/infection.log \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index c441951..70be7c0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -30,6 +30,7 @@ script: - composer churn - composer phpstan - composer phpmd + - composer infected after_script: - wget https://scrutinizer-ci.com/ocular.phar diff --git a/composer.json b/composer.json index 1ea0907..e3378fa 100644 --- a/composer.json +++ b/composer.json @@ -26,7 +26,8 @@ "bmitch/churn-php": "^1.0", "phan/phan": "^1.2", "phpstan/phpstan": "^0.11.1", - "phpmd/phpmd" : "@stable" + "phpmd/phpmd": "@stable", + "infection/infection": "^0.12.2" }, "autoload": { "psr-4": { @@ -46,12 +47,14 @@ "phpmnd": "vendor/bin/phpmnd src", "churn": "vendor/bin/churn run src", "phpstan": "vendor/bin/phpstan --level=7 analyse src tests", + "infection": "vendor/bin/infection", "phan.bat": "vendor\\bin\\phan.bat --allow-polyfill-parser", "phpmd.bat": "vendor\\bin\\phpmd.bat --strict src text cyclomatic.xml", "phpcs.bat": "vendor\\bin\\phpcs.bat src --standard=PSR2", "phpcbf.bat": "vendor\\bin\\phpcbf.bat src", "phpmnd.bat": "vendor\\bin\\phpmnd.bat src", "churn.bat": "vendor\\bin\\churn.bat run src", - "phpstan.bat": "vendor\\bin\\phpstan.bat --level=7 analyse src tests" + "phpstan.bat": "vendor\\bin\\phpstan.bat --level=7 analyse src tests", + "infection.bat": "vendor\\bin\\infection.bat" } } diff --git a/composer.lock b/composer.lock index 4490a3e..412dad6 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "a1bd1ef9130b25d11a72cb768caa846f", + "content-hash": "6ee7c1626e3b5056c3efbb0407206c25", "packages": [], "packages-dev": [ { @@ -70,6 +70,62 @@ ], "time": "2019-01-26T15:08:51+00:00" }, + { + "name": "composer/ca-bundle", + "version": "1.1.4", + "source": { + "type": "git", + "url": "https://github.com/composer/ca-bundle.git", + "reference": "558f321c52faeb4828c03e7dc0cfe39a09e09a2d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/558f321c52faeb4828c03e7dc0cfe39a09e09a2d", + "reference": "558f321c52faeb4828c03e7dc0cfe39a09e09a2d", + "shasum": "" + }, + "require": { + "ext-openssl": "*", + "ext-pcre": "*", + "php": "^5.3.2 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5", + "psr/log": "^1.0", + "symfony/process": "^2.5 || ^3.0 || ^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\CaBundle\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", + "keywords": [ + "cabundle", + "cacert", + "certificate", + "ssl", + "tls" + ], + "time": "2019-01-28T09:30:10+00:00" + }, { "name": "composer/semver", "version": "1.4.2", @@ -304,6 +360,95 @@ "description": "A more advanced JSONRPC implementation", "time": "2018-09-10T08:58:41+00:00" }, + { + "name": "infection/infection", + "version": "0.12.2", + "source": { + "type": "git", + "url": "https://github.com/infection/infection.git", + "reference": "0c028b4b69bbead4b9d6702b36c0d25b9e016785" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/infection/infection/zipball/0c028b4b69bbead4b9d6702b36c0d25b9e016785", + "reference": "0c028b4b69bbead4b9d6702b36c0d25b9e016785", + "shasum": "" + }, + "require": { + "composer/xdebug-handler": "^1.3", + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "justinrainbow/json-schema": "^5.2", + "nikic/php-parser": "^4.1", + "ocramius/package-versions": "^1.2", + "padraic/phar-updater": "^1.0.4", + "php": "^7.1.3", + "pimple/pimple": "^3.2", + "sebastian/diff": "^1.4 || ^2.0 || ^3.0", + "symfony/console": "^3.4 || ^4.0", + "symfony/filesystem": "^3.4 || ^4.0", + "symfony/finder": "^3.4 || ^4.0", + "symfony/process": "^3.4|| ^4.0", + "symfony/yaml": "^3.4 || ^4.0", + "webmozart/assert": "^1.3" + }, + "conflict": { + "symfony/console": "=3.4.16 || =4.1.5", + "symfony/process": "3.4.2" + }, + "require-dev": { + "phpunit/phpunit": "^6.2" + }, + "bin": [ + "bin/infection" + ], + "type": "library", + "autoload": { + "psr-4": { + "Infection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Maks Rafalko", + "email": "maks.rafalko@gmail.com", + "homepage": "https://twitter.com/maks_rafalko" + }, + { + "name": "Gert de Pagter", + "homepage": "https://github.com/BackEndTea" + }, + { + "name": "Théo FIDRY", + "email": "theo.fidry@gmail.com", + "homepage": "https://twitter.com/tfidry" + }, + { + "name": "Oleg Zhulnev", + "homepage": "https://github.com/sidz" + }, + { + "name": "Alexey Kopytko", + "email": "alexey@kopytko.com", + "homepage": "https://www.alexeykopytko.com" + } + ], + "description": "Infection is a Mutation Testing framework for PHP. The mutation adequacy score can be used to measure the effectiveness of a test set in terms of its ability to detect faults.", + "keywords": [ + "coverage", + "mutant", + "mutation framework", + "mutation testing", + "testing", + "unit testing" + ], + "time": "2019-02-10T18:24:30+00:00" + }, { "name": "jakub-onderka/php-console-color", "version": "v0.2", @@ -441,6 +586,72 @@ ], "time": "2018-06-13T13:22:40+00:00" }, + { + "name": "justinrainbow/json-schema", + "version": "5.2.8", + "source": { + "type": "git", + "url": "https://github.com/justinrainbow/json-schema.git", + "reference": "dcb6e1006bb5fd1e392b4daa68932880f37550d4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/dcb6e1006bb5fd1e392b4daa68932880f37550d4", + "reference": "dcb6e1006bb5fd1e392b4daa68932880f37550d4", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2.2.20", + "json-schema/json-schema-test-suite": "1.2.0", + "phpunit/phpunit": "^4.8.35" + }, + "bin": [ + "bin/validate-json" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "JsonSchema\\": "src/JsonSchema/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bruno Prieto Reis", + "email": "bruno.p.reis@gmail.com" + }, + { + "name": "Justin Rainbow", + "email": "justin.rainbow@gmail.com" + }, + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + }, + { + "name": "Robert Schönthal", + "email": "seroscho@googlemail.com" + } + ], + "description": "A library to validate a json schema.", + "homepage": "https://github.com/justinrainbow/json-schema", + "keywords": [ + "json", + "schema" + ], + "time": "2019-01-14T23:55:14+00:00" + }, { "name": "microsoft/tolerant-php-parser", "version": "v0.0.16", @@ -639,7 +850,7 @@ "homepage": "https://nette.org/contributors" } ], - "description": "? Nette Bootstrap: the simple way to configure and bootstrap your Nette application.", + "description": "🅱 Nette Bootstrap: the simple way to configure and bootstrap your Nette application.", "homepage": "https://nette.org", "keywords": [ "bootstrapping", @@ -704,7 +915,7 @@ "homepage": "https://nette.org/contributors" } ], - "description": "? Nette Dependency Injection Container: Flexible, compiled and full-featured DIC with perfectly usable autowiring and support for all new PHP 7.1 features.", + "description": "💎 Nette Dependency Injection Container: Flexible, compiled and full-featured DIC with perfectly usable autowiring and support for all new PHP 7.1 features.", "homepage": "https://nette.org", "keywords": [ "compiled", @@ -1026,7 +1237,7 @@ "homepage": "https://nette.org/contributors" } ], - "description": "? Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.", + "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.", "homepage": "https://nette.org", "keywords": [ "array", @@ -1147,6 +1358,127 @@ "description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)", "time": "2019-02-21T12:16:21+00:00" }, + { + "name": "padraic/humbug_get_contents", + "version": "1.1.2", + "source": { + "type": "git", + "url": "https://github.com/humbug/file_get_contents.git", + "reference": "dcb086060c9dd6b2f51d8f7a895500307110b7a7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/humbug/file_get_contents/zipball/dcb086060c9dd6b2f51d8f7a895500307110b7a7", + "reference": "dcb086060c9dd6b2f51d8f7a895500307110b7a7", + "shasum": "" + }, + "require": { + "composer/ca-bundle": "^1.0", + "ext-openssl": "*", + "php": "^5.3 || ^7.0 || ^7.1 || ^7.2" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.1", + "mikey179/vfsstream": "^1.6", + "phpunit/phpunit": "^4.8 || ^5.7 || ^6.5" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": false + }, + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "psr-4": { + "Humbug\\": "src/" + }, + "files": [ + "src/function.php", + "src/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Pádraic Brady", + "email": "padraic.brady@gmail.com", + "homepage": "http://blog.astrumfutura.com" + }, + { + "name": "Théo Fidry", + "email": "theo.fidry@gmail.com" + } + ], + "description": "Secure wrapper for accessing HTTPS resources with file_get_contents for PHP 5.3+", + "homepage": "https://github.com/padraic/file_get_contents", + "keywords": [ + "download", + "file_get_contents", + "http", + "https", + "ssl", + "tls" + ], + "time": "2018-02-12T18:47:17+00:00" + }, + { + "name": "padraic/phar-updater", + "version": "v1.0.6", + "source": { + "type": "git", + "url": "https://github.com/humbug/phar-updater.git", + "reference": "d01d3b8f26e541ac9b9eeba1e18d005d852f7ff1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/humbug/phar-updater/zipball/d01d3b8f26e541ac9b9eeba1e18d005d852f7ff1", + "reference": "d01d3b8f26e541ac9b9eeba1e18d005d852f7ff1", + "shasum": "" + }, + "require": { + "padraic/humbug_get_contents": "^1.0", + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Humbug\\SelfUpdate\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Pádraic Brady", + "email": "padraic.brady@gmail.com", + "homepage": "http://blog.astrumfutura.com" + } + ], + "description": "A thing to make PHAR self-updating easy and secure.", + "keywords": [ + "humbug", + "phar", + "self-update", + "update" + ], + "time": "2018-03-30T12:52:15+00:00" + }, { "name": "pdepend/pdepend", "version": "2.5.2", @@ -2233,6 +2565,56 @@ ], "time": "2019-03-16T07:33:46+00:00" }, + { + "name": "pimple/pimple", + "version": "v3.2.3", + "source": { + "type": "git", + "url": "https://github.com/silexphp/Pimple.git", + "reference": "9e403941ef9d65d20cba7d54e29fe906db42cf32" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/silexphp/Pimple/zipball/9e403941ef9d65d20cba7d54e29fe906db42cf32", + "reference": "9e403941ef9d65d20cba7d54e29fe906db42cf32", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "psr/container": "^1.0" + }, + "require-dev": { + "symfony/phpunit-bridge": "^3.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2.x-dev" + } + }, + "autoload": { + "psr-0": { + "Pimple": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Pimple, a simple Dependency Injection Container", + "homepage": "http://pimple.sensiolabs.org", + "keywords": [ + "container", + "dependency injection" + ], + "time": "2018-01-21T07:42:36+00:00" + }, { "name": "povils/phpmnd", "version": "v2.1.0", diff --git a/infection.json.dist b/infection.json.dist new file mode 100644 index 0000000..60a2a84 --- /dev/null +++ b/infection.json.dist @@ -0,0 +1,14 @@ +{ + "timeout": 10, + "source": { + "directories": [ + "src" + ] + }, + "logs": { + "text": "infection.log" + }, + "mutators": { + "@default": true + } +} \ No newline at end of file From 51ad7cfa9bec5c6d31a58ba7276081fd27dd3d0d Mon Sep 17 00:00:00 2001 From: Gerben Geijteman Date: Tue, 2 Apr 2019 13:27:43 +0200 Subject: [PATCH 2/2] Use correct command --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 70be7c0..a2ac074 100644 --- a/.travis.yml +++ b/.travis.yml @@ -30,7 +30,7 @@ script: - composer churn - composer phpstan - composer phpmd - - composer infected + - composer infection after_script: - wget https://scrutinizer-ci.com/ocular.phar