From 9fd49a8b07b7c9a95ce1b3928b518f27aea4cb5c Mon Sep 17 00:00:00 2001 From: Tomas Votruba Date: Tue, 11 May 2021 11:17:57 +0000 Subject: [PATCH] Updated Rector to commit ecc876ca19cb3ded0fa30ca856940b928b34b4b1 https://github.com/rectorphp/rector/commit/ecc876ca19cb3ded0fa30ca856940b928b34b4b1 [build] add e2e tests (#12) --- .github/workflows/e2e.yaml | 50 +++++++++++++++++++ e2e/dont-execute-code/composer.json | 7 +++ e2e/dont-execute-code/rector.php | 14 ++++++ e2e/dont-execute-code/src/OutputInterface.php | 9 ++++ e2e/parse-php7-code/composer.json | 7 +++ e2e/parse-php7-code/rector.php | 14 ++++++ e2e/parse-php7-code/src/Foo.php | 12 +++++ e2e/parser-php8-code/composer.json | 7 +++ e2e/parser-php8-code/rector.php | 14 ++++++ e2e/parser-php8-code/src/Foo.php | 10 ++++ .../FileProcessor/PhpFileProcessor.php | 1 - vendor/autoload.php | 2 +- vendor/composer/autoload_real.php | 14 +++--- vendor/composer/autoload_static.php | 8 +-- vendor/scoper-autoload.php | 10 ++-- 15 files changed, 161 insertions(+), 18 deletions(-) create mode 100644 .github/workflows/e2e.yaml create mode 100644 e2e/dont-execute-code/composer.json create mode 100644 e2e/dont-execute-code/rector.php create mode 100644 e2e/dont-execute-code/src/OutputInterface.php create mode 100644 e2e/parse-php7-code/composer.json create mode 100644 e2e/parse-php7-code/rector.php create mode 100644 e2e/parse-php7-code/src/Foo.php create mode 100644 e2e/parser-php8-code/composer.json create mode 100644 e2e/parser-php8-code/rector.php create mode 100644 e2e/parser-php8-code/src/Foo.php diff --git a/.github/workflows/e2e.yaml b/.github/workflows/e2e.yaml new file mode 100644 index 00000000000..6a59a1d8e5d --- /dev/null +++ b/.github/workflows/e2e.yaml @@ -0,0 +1,50 @@ +name: End to End tests + +on: + pull_request: null + push: + branches: + - main + +jobs: + end_to_end: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + php: ['7.4', '8.0'] + + name: PHP ${{ matrix.php }} system tests + steps: + - uses: actions/checkout@v2 + + - uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php }} + coverage: none # disable xdebug, pcov + + # This workflow runs system tests: Use the Rector application from the source + # checkout to process "fixture" projects in tests/system-tests + # to see if those can be processed successfully + + - name: Generate Composer autoloaders in fixture directories + run: | + for FIXTURE in `find e2e -mindepth 1 -maxdepth 1 -type d`; do + (cd $FIXTURE; composer install --no-progress --ansi) + done + + - name: Run system tests + run: | + HAS_FAILURES=0 + + for FIXTURE in `find e2e -mindepth 1 -maxdepth 1 -type d`; do + echo "-----> Running $FIXTURE <-----" + if (cd $FIXTURE; ../../bin/rector process --dry-run --clear-cache); then + echo "-----> Result: OK <-----" + else + echo "-----> Result: FAILED <-----" + HAS_FAILURES=1 + fi + done + + exit $HAS_FAILURES diff --git a/e2e/dont-execute-code/composer.json b/e2e/dont-execute-code/composer.json new file mode 100644 index 00000000000..39fa78e1b21 --- /dev/null +++ b/e2e/dont-execute-code/composer.json @@ -0,0 +1,7 @@ +{ + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\Output\\": "src" + } + } +} diff --git a/e2e/dont-execute-code/rector.php b/e2e/dont-execute-code/rector.php new file mode 100644 index 00000000000..bde91796b2c --- /dev/null +++ b/e2e/dont-execute-code/rector.php @@ -0,0 +1,14 @@ +parameters(); + $parameters->set(Option::PATHS, [__DIR__.'/src']); + + $containerConfigurator->import(SetList::PHP_53); +}; diff --git a/e2e/dont-execute-code/src/OutputInterface.php b/e2e/dont-execute-code/src/OutputInterface.php new file mode 100644 index 00000000000..35e75695a4e --- /dev/null +++ b/e2e/dont-execute-code/src/OutputInterface.php @@ -0,0 +1,9 @@ +parameters(); + $parameters->set(Option::PATHS, [__DIR__.'/src']); + + $containerConfigurator->import(SetList::PHP_53); +}; diff --git a/e2e/parse-php7-code/src/Foo.php b/e2e/parse-php7-code/src/Foo.php new file mode 100644 index 00000000000..2c24d393628 --- /dev/null +++ b/e2e/parse-php7-code/src/Foo.php @@ -0,0 +1,12 @@ +parameters(); + $parameters->set(Option::PATHS, [__DIR__.'/src']); + + $containerConfigurator->import(SetList::PHP_53); +}; diff --git a/e2e/parser-php8-code/src/Foo.php b/e2e/parser-php8-code/src/Foo.php new file mode 100644 index 00000000000..5e0a9146264 --- /dev/null +++ b/e2e/parser-php8-code/src/Foo.php @@ -0,0 +1,10 @@ += 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); if ($useStaticLoader) { require __DIR__ . '/autoload_static.php'; - call_user_func(\Composer\Autoload\ComposerStaticInit0e9023fe060840085fb755bf5ce124b2::getInitializer($loader)); + call_user_func(\Composer\Autoload\ComposerStaticInit8e0c521d0267706f8265fce5c8f6726f::getInitializer($loader)); } else { $classMap = require __DIR__ . '/autoload_classmap.php'; if ($classMap) { @@ -42,19 +42,19 @@ class ComposerAutoloaderInit0e9023fe060840085fb755bf5ce124b2 $loader->register(true); if ($useStaticLoader) { - $includeFiles = Composer\Autoload\ComposerStaticInit0e9023fe060840085fb755bf5ce124b2::$files; + $includeFiles = Composer\Autoload\ComposerStaticInit8e0c521d0267706f8265fce5c8f6726f::$files; } else { $includeFiles = require __DIR__ . '/autoload_files.php'; } foreach ($includeFiles as $fileIdentifier => $file) { - composerRequire0e9023fe060840085fb755bf5ce124b2($fileIdentifier, $file); + composerRequire8e0c521d0267706f8265fce5c8f6726f($fileIdentifier, $file); } return $loader; } } -function composerRequire0e9023fe060840085fb755bf5ce124b2($fileIdentifier, $file) +function composerRequire8e0c521d0267706f8265fce5c8f6726f($fileIdentifier, $file) { if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { require $file; diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index 0fcea7cd782..f64bae46bd3 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -4,7 +4,7 @@ namespace Composer\Autoload; -class ComposerStaticInit0e9023fe060840085fb755bf5ce124b2 +class ComposerStaticInit8e0c521d0267706f8265fce5c8f6726f { public static $files = array ( 'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php', @@ -3465,9 +3465,9 @@ class ComposerStaticInit0e9023fe060840085fb755bf5ce124b2 public static function getInitializer(ClassLoader $loader) { return \Closure::bind(function () use ($loader) { - $loader->prefixLengthsPsr4 = ComposerStaticInit0e9023fe060840085fb755bf5ce124b2::$prefixLengthsPsr4; - $loader->prefixDirsPsr4 = ComposerStaticInit0e9023fe060840085fb755bf5ce124b2::$prefixDirsPsr4; - $loader->classMap = ComposerStaticInit0e9023fe060840085fb755bf5ce124b2::$classMap; + $loader->prefixLengthsPsr4 = ComposerStaticInit8e0c521d0267706f8265fce5c8f6726f::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInit8e0c521d0267706f8265fce5c8f6726f::$prefixDirsPsr4; + $loader->classMap = ComposerStaticInit8e0c521d0267706f8265fce5c8f6726f::$classMap; }, null, ClassLoader::class); } diff --git a/vendor/scoper-autoload.php b/vendor/scoper-autoload.php index 6ccef34c6c6..1302722e2ad 100644 --- a/vendor/scoper-autoload.php +++ b/vendor/scoper-autoload.php @@ -21,8 +21,8 @@ if (!class_exists('SomeTestCase', false) && !interface_exists('SomeTestCase', fa if (!class_exists('CheckoutEntityFactory', false) && !interface_exists('CheckoutEntityFactory', false) && !trait_exists('CheckoutEntityFactory', false)) { spl_autoload_call('RectorPrefix20210511\CheckoutEntityFactory'); } -if (!class_exists('ComposerAutoloaderInit0e9023fe060840085fb755bf5ce124b2', false) && !interface_exists('ComposerAutoloaderInit0e9023fe060840085fb755bf5ce124b2', false) && !trait_exists('ComposerAutoloaderInit0e9023fe060840085fb755bf5ce124b2', false)) { - spl_autoload_call('RectorPrefix20210511\ComposerAutoloaderInit0e9023fe060840085fb755bf5ce124b2'); +if (!class_exists('ComposerAutoloaderInit8e0c521d0267706f8265fce5c8f6726f', false) && !interface_exists('ComposerAutoloaderInit8e0c521d0267706f8265fce5c8f6726f', false) && !trait_exists('ComposerAutoloaderInit8e0c521d0267706f8265fce5c8f6726f', false)) { + spl_autoload_call('RectorPrefix20210511\ComposerAutoloaderInit8e0c521d0267706f8265fce5c8f6726f'); } if (!class_exists('Doctrine\Inflector\Inflector', false) && !interface_exists('Doctrine\Inflector\Inflector', false) && !trait_exists('Doctrine\Inflector\Inflector', false)) { spl_autoload_call('RectorPrefix20210511\Doctrine\Inflector\Inflector'); @@ -92,9 +92,9 @@ if (!function_exists('print_node')) { return \RectorPrefix20210511\print_node(...func_get_args()); } } -if (!function_exists('composerRequire0e9023fe060840085fb755bf5ce124b2')) { - function composerRequire0e9023fe060840085fb755bf5ce124b2() { - return \RectorPrefix20210511\composerRequire0e9023fe060840085fb755bf5ce124b2(...func_get_args()); +if (!function_exists('composerRequire8e0c521d0267706f8265fce5c8f6726f')) { + function composerRequire8e0c521d0267706f8265fce5c8f6726f() { + return \RectorPrefix20210511\composerRequire8e0c521d0267706f8265fce5c8f6726f(...func_get_args()); } } if (!function_exists('parseArgs')) {