From 816476c2ad26341583df98a51aebb49489ba294c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20B=C3=BCrk?= <stefan@buerk.tech> Date: Thu, 28 Jul 2022 12:59:16 +0200 Subject: [PATCH] [TASK] Upgrade to codeception/codeception 5.x MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Codeception released new major version 5, which unblocks upgrading to symfony 6 components. This patch raises codeception only, thus acting as a pre-patch to raise symfony requirements. Codeception 5 is hard to impossible with core v11, so this patch is v12 only: Codeception 5 requires PHP 8.0, so we'd have to support both 4 and 5 in v11 to allow testing with older PHP versions. This would result in various headaches since some API changes in codeception 5 are hard breaking in PHP, especially due to changed class property type hints. We'll thus keep codeception 4 in v11 and go with codeception 5 in v12. Minor acceptance test related adaptions are needed: * Replaced config option `path.log` with `path.output` * Added proper property type because of inheritance to codeception setup classes * Ensure method return type compatibility * Use `actor`instead of `class name` in suite config * Create acceptance split files in proper folder to ensure group filtering keeps working. Adjust clean up scripts and gitignore for this Used commands: > composer req --dev -w \ typo3/testing-framework:dev-main \ codeception/codeception:^5.0.0 \ codeception/module-asserts:^3.0.0 \ codeception/module-cli:^2.0.0 \ codeception/module-filesystem:^3.0.0 \ codeception/module-webdriver:^3.1.2 \ codeception/lib-asserts:^2.0.0 Resolves: #98047 Releases: main Change-Id: I5cea60c2641988cc032b30ed1fbe3d8b0ed3b3d1 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75317 Tested-by: core-ci <typo3@b13.com> Tested-by: Oliver Klee <typo3-coding@oliverklee.de> Tested-by: Christian Kuhn <lolli@schwarzbu.ch> Tested-by: Stefan Bürk <stefan@buerk.tech> Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by: Stefan Bürk <stefan@buerk.tech> --- .gitignore | 2 +- Build/Scripts/runTests.sh | 2 +- Build/Scripts/splitAcceptanceTests.php | 4 +- composer.json | 12 +- composer.lock | 463 +++++++++++------- .../Tests/Acceptance/Application.suite.yml | 2 +- .../Extension/InstallMysqlCoreEnvironment.php | 4 +- .../InstallPostgresqlCoreEnvironment.php | 4 +- typo3/sysext/core/Tests/codeception.yml | 2 +- 9 files changed, 298 insertions(+), 197 deletions(-) diff --git a/.gitignore b/.gitignore index e973e11f6fb5..c993d1b6bd7c 100644 --- a/.gitignore +++ b/.gitignore @@ -43,7 +43,7 @@ nbproject /Build/testing-docker/local/macos_passwd /typo3/sysext/*/Resources/Private/TypeScript/*.js /typo3/sysext/*/Resources/Public/JavaScript/*.js.map -typo3/sysext/core/Tests/Acceptance/AcceptanceTests-Job-* +/typo3/sysext/core/Tests/AcceptanceTests-Job-* # # TypeScript stuff .baseDir.ts diff --git a/Build/Scripts/runTests.sh b/Build/Scripts/runTests.sh index 5c37f4493c7b..2bedc18b6f73 100755 --- a/Build/Scripts/runTests.sh +++ b/Build/Scripts/runTests.sh @@ -99,7 +99,7 @@ cleanTestFiles() { # > test related echo -n "Clean test related files ... " ; rm -rf \ ../../../Build/phpunit/FunctionalTests-Job-*.xml \ - ../../../typo3/sysext/core/Tests/Acceptance/AcceptanceTests-Job-* \ + ../../../typo3/sysext/core/Tests/AcceptanceTests-Job-* \ ../../../typo3/sysext/core/Tests/Acceptance/Support/_generated \ ../../../typo3temp/var/tests/ ; \ echo "done" diff --git a/Build/Scripts/splitAcceptanceTests.php b/Build/Scripts/splitAcceptanceTests.php index 3096ec7ebc8d..0fc54445438a 100755 --- a/Build/Scripts/splitAcceptanceTests.php +++ b/Build/Scripts/splitAcceptanceTests.php @@ -64,7 +64,7 @@ class SplitAcceptanceTests extends NodeVisitorAbstract $output = new ConsoleOutput(); // delete any existing split job files first - $targetDirectory = __DIR__ . '/../../typo3/sysext/core/Tests/Acceptance/'; + $targetDirectory = __DIR__ . '/../../typo3/sysext/core/Tests/'; $targetFileNamePrefix = 'AcceptanceTests-Job-'; $filesInTargetDir = Finder::create()->files()->in($targetDirectory)->name($targetFileNamePrefix . '*'); foreach ($filesInTargetDir as $file) { @@ -232,7 +232,7 @@ class AcceptanceTestCaseVisitor extends NodeVisitorAbstract ); foreach ($matches['annotations'] as $possibleDataProvider) { // See if this test has a data provider attached - if (strpos($possibleDataProvider, 'dataProvider') === 0) { + if (str_starts_with($possibleDataProvider, 'dataProvider')) { $test['dataProvider'] = trim(ltrim($possibleDataProvider, 'dataProvider')); } } diff --git a/composer.json b/composer.json index d38d31e6728b..de721383618f 100644 --- a/composer.json +++ b/composer.json @@ -97,12 +97,12 @@ }, "require-dev": { "bnf/phpstan-psr-container": "^1.0.1", - "codeception/codeception": "^4.1.22", - "codeception/lib-asserts": "^1.13.2", - "codeception/module-asserts": "^1.3.1", - "codeception/module-cli": "^1.1", - "codeception/module-filesystem": "^1.0.3", - "codeception/module-webdriver": "^1.4.0", + "codeception/codeception": "^5.0.0", + "codeception/lib-asserts": "^2.0.0", + "codeception/module-asserts": "^3.0.0", + "codeception/module-cli": "^2.0.0", + "codeception/module-filesystem": "^3.0.0", + "codeception/module-webdriver": "^3.1.2", "composer/composer": "^2.2.12", "composer/package-versions-deprecated": "^1.11.99.4", "friendsofphp/php-cs-fixer": "^3.8.0", diff --git a/composer.lock b/composer.lock index a1e0394dcd51..cd273e6b57c2 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": "6688d72e425e4b53a103a046c1f751b2", + "content-hash": "3f330e66878274a8b9439bab2a4f5a8c", "packages": [ { "name": "bacon/bacon-qr-code", @@ -2401,7 +2401,7 @@ }, { "name": "symfony/deprecation-contracts", - "version": "v3.1.0", + "version": "v3.1.1", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", @@ -2448,7 +2448,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.1.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.1.1" }, "funding": [ { @@ -2468,40 +2468,38 @@ }, { "name": "symfony/event-dispatcher", - "version": "v5.4.3", + "version": "v6.1.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "dec8a9f58d20df252b9cd89f1c6c1530f747685d" + "reference": "a0449a7ad7daa0f7c0acd508259f80544ab5a347" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/dec8a9f58d20df252b9cd89f1c6c1530f747685d", - "reference": "dec8a9f58d20df252b9cd89f1c6c1530f747685d", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a0449a7ad7daa0f7c0acd508259f80544ab5a347", + "reference": "a0449a7ad7daa0f7c0acd508259f80544ab5a347", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/event-dispatcher-contracts": "^2|^3", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.1", + "symfony/event-dispatcher-contracts": "^2|^3" }, "conflict": { - "symfony/dependency-injection": "<4.4" + "symfony/dependency-injection": "<5.4" }, "provide": { "psr/event-dispatcher-implementation": "1.0", - "symfony/event-dispatcher-implementation": "2.0" + "symfony/event-dispatcher-implementation": "2.0|3.0" }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/error-handler": "^4.4|^5.0|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/http-foundation": "^4.4|^5.0|^6.0", + "symfony/config": "^5.4|^6.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/error-handler": "^5.4|^6.0", + "symfony/expression-language": "^5.4|^6.0", + "symfony/http-foundation": "^5.4|^6.0", "symfony/service-contracts": "^1.1|^2|^3", - "symfony/stopwatch": "^4.4|^5.0|^6.0" + "symfony/stopwatch": "^5.4|^6.0" }, "suggest": { "symfony/dependency-injection": "", @@ -2533,7 +2531,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.3" + "source": "https://github.com/symfony/event-dispatcher/tree/v6.1.0" }, "funding": [ { @@ -2549,7 +2547,7 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:53:40+00:00" + "time": "2022-05-05T16:51:07+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -4393,25 +4391,24 @@ "packages-dev": [ { "name": "behat/gherkin", - "version": "v4.8.0", + "version": "v4.9.0", "source": { "type": "git", "url": "https://github.com/Behat/Gherkin.git", - "reference": "2391482cd003dfdc36b679b27e9f5326bd656acd" + "reference": "0bc8d1e30e96183e4f36db9dc79caead300beff4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Behat/Gherkin/zipball/2391482cd003dfdc36b679b27e9f5326bd656acd", - "reference": "2391482cd003dfdc36b679b27e9f5326bd656acd", + "url": "https://api.github.com/repos/Behat/Gherkin/zipball/0bc8d1e30e96183e4f36db9dc79caead300beff4", + "reference": "0bc8d1e30e96183e4f36db9dc79caead300beff4", "shasum": "" }, "require": { "php": "~7.2|~8.0" }, "require-dev": { - "cucumber/cucumber": "dev-gherkin-16.0.0", + "cucumber/cucumber": "dev-gherkin-22.0.0", "phpunit/phpunit": "~8|~9", - "symfony/phpunit-bridge": "~3|~4|~5", "symfony/yaml": "~3|~4|~5" }, "suggest": { @@ -4420,7 +4417,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.4-dev" + "dev-master": "4.x-dev" } }, "autoload": { @@ -4451,9 +4448,9 @@ ], "support": { "issues": "https://github.com/Behat/Gherkin/issues", - "source": "https://github.com/Behat/Gherkin/tree/v4.8.0" + "source": "https://github.com/Behat/Gherkin/tree/v4.9.0" }, - "time": "2021-02-04T12:44:21+00:00" + "time": "2021-10-12T13:05:09+00:00" }, { "name": "bnf/phpstan-psr-container", @@ -4514,66 +4511,84 @@ }, { "name": "codeception/codeception", - "version": "4.1.22", + "version": "5.0.0", "source": { "type": "git", "url": "https://github.com/Codeception/Codeception.git", - "reference": "9777ec3690ceedc4bce2ed13af7af4ca4ee3088f" + "reference": "7afeb3f3558e3e5c08e82f3a745e3e6945cb28d7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeception/Codeception/zipball/9777ec3690ceedc4bce2ed13af7af4ca4ee3088f", - "reference": "9777ec3690ceedc4bce2ed13af7af4ca4ee3088f", + "url": "https://api.github.com/repos/Codeception/Codeception/zipball/7afeb3f3558e3e5c08e82f3a745e3e6945cb28d7", + "reference": "7afeb3f3558e3e5c08e82f3a745e3e6945cb28d7", "shasum": "" }, "require": { - "behat/gherkin": "^4.4.0", - "codeception/lib-asserts": "^1.0", - "codeception/phpunit-wrapper": ">6.0.15 <6.1.0 | ^6.6.1 | ^7.7.1 | ^8.1.1 | ^9.0", - "codeception/stub": "^2.0 | ^3.0", + "behat/gherkin": "^4.6.2", + "codeception/lib-asserts": "2.0.*@dev", + "codeception/stub": "^3.7 | ^4.0", "ext-curl": "*", "ext-json": "*", "ext-mbstring": "*", - "guzzlehttp/psr7": "^1.4 | ^2.0", - "php": ">=5.6.0 <9.0", - "symfony/console": ">=2.7 <6.0", - "symfony/css-selector": ">=2.7 <6.0", - "symfony/event-dispatcher": ">=2.7 <6.0", - "symfony/finder": ">=2.7 <6.0", - "symfony/yaml": ">=2.7 <6.0" + "php": "^8.0", + "phpunit/php-code-coverage": "^9.2", + "phpunit/php-text-template": "^2.0", + "phpunit/phpunit": "^9.5", + "psy/psysh": "^0.11.2", + "sebastian/diff": "^4.0", + "symfony/console": ">=4.4.24 <7.0", + "symfony/css-selector": ">=4.4.24 <7.0", + "symfony/event-dispatcher": ">=4.4.24 <7.0", + "symfony/finder": ">=4.4.24 <7.0", + "symfony/var-dumper": ">=4.4.24 < 7.0", + "symfony/yaml": ">=4.4.24 <7.0" + }, + "conflict": { + "codeception/lib-innerbrowser": "<3.0", + "codeception/module-filesystem": "<3.0", + "codeception/module-phpbrowser": "<2.5" + }, + "replace": { + "codeception/phpunit-wrapper": "*" }, "require-dev": { - "codeception/module-asserts": "1.*@dev", - "codeception/module-cli": "1.*@dev", - "codeception/module-db": "1.*@dev", - "codeception/module-filesystem": "1.*@dev", - "codeception/module-phpbrowser": "1.*@dev", - "codeception/specify": "~0.3", + "codeception/lib-innerbrowser": "*@dev", + "codeception/lib-web": "^1.0", + "codeception/module-asserts": "*@dev", + "codeception/module-cli": "*@dev", + "codeception/module-db": "*@dev", + "codeception/module-filesystem": "*@dev", + "codeception/module-phpbrowser": "*@dev", "codeception/util-universalframework": "*@dev", - "monolog/monolog": "~1.8", - "squizlabs/php_codesniffer": "~2.0", - "symfony/process": ">=2.7 <6.0", - "vlucas/phpdotenv": "^2.0 | ^3.0 | ^4.0 | ^5.0" + "ext-simplexml": "*", + "symfony/dotenv": ">=4.4.24 <7.0", + "symfony/process": ">=4.4.24 <7.0", + "vlucas/phpdotenv": "^5.1" }, "suggest": { "codeception/specify": "BDD-style code blocks", "codeception/verify": "BDD-style assertions", - "hoa/console": "For interactive console functionality", + "ext-simplexml": "For loading params from XML files", "stecman/symfony-console-completion": "For BASH autocompletion", - "symfony/phpunit-bridge": "For phpunit-bridge support" + "symfony/dotenv": "For loading params from .env files", + "symfony/phpunit-bridge": "For phpunit-bridge support", + "vlucas/phpdotenv": "For loading params from .env files" }, "bin": [ "codecept" ], "type": "library", - "extra": { - "branch-alias": [] - }, "autoload": { + "files": [ + "functions.php" + ], "psr-4": { "Codeception\\": "src/Codeception", "Codeception\\Extension\\": "ext" - } + }, + "classmap": [ + "src/PHPUnit/TestCase.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -4582,12 +4597,12 @@ "authors": [ { "name": "Michael Bodnarchuk", - "email": "davert@mail.ua", - "homepage": "http://codegyre.com" + "email": "davert.ua@gmail.com", + "homepage": "https://codeception.com" } ], "description": "BDD-style testing framework", - "homepage": "http://codeception.com/", + "homepage": "https://codeception.com/", "keywords": [ "BDD", "TDD", @@ -4597,7 +4612,7 @@ ], "support": { "issues": "https://github.com/Codeception/Codeception/issues", - "source": "https://github.com/Codeception/Codeception/tree/4.1.22" + "source": "https://github.com/Codeception/Codeception/tree/5.0.0" }, "funding": [ { @@ -4605,26 +4620,26 @@ "type": "open_collective" } ], - "time": "2021-08-06T17:15:34+00:00" + "time": "2022-07-28T08:34:19+00:00" }, { "name": "codeception/lib-asserts", - "version": "1.13.2", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/Codeception/lib-asserts.git", - "reference": "184231d5eab66bc69afd6b9429344d80c67a33b6" + "reference": "df9c8346722ddde4a20e6372073c09c8df87c296" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeception/lib-asserts/zipball/184231d5eab66bc69afd6b9429344d80c67a33b6", - "reference": "184231d5eab66bc69afd6b9429344d80c67a33b6", + "url": "https://api.github.com/repos/Codeception/lib-asserts/zipball/df9c8346722ddde4a20e6372073c09c8df87c296", + "reference": "df9c8346722ddde4a20e6372073c09c8df87c296", "shasum": "" }, "require": { - "codeception/phpunit-wrapper": ">6.0.15 <6.1.0 | ^6.6.1 | ^7.7.1 | ^8.0.3 | ^9.0", + "codeception/phpunit-wrapper": "^7.7.1 | ^8.0.3 | ^9.0", "ext-dom": "*", - "php": ">=5.6.0 <9.0" + "php": "^7.4 | ^8.0" }, "type": "library", "autoload": { @@ -4657,31 +4672,84 @@ ], "support": { "issues": "https://github.com/Codeception/lib-asserts/issues", - "source": "https://github.com/Codeception/lib-asserts/tree/1.13.2" + "source": "https://github.com/Codeception/lib-asserts/tree/2.0.0" }, - "time": "2020-10-21T16:26:20+00:00" + "time": "2021-12-03T12:40:37+00:00" + }, + { + "name": "codeception/lib-web", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/Codeception/lib-web.git", + "reference": "91e35c5a849479a626f79daf4754ca4ba4e3227f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Codeception/lib-web/zipball/91e35c5a849479a626f79daf4754ca4ba4e3227f", + "reference": "91e35c5a849479a626f79daf4754ca4ba4e3227f", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "guzzlehttp/psr7": "^2.0", + "php": "^8.0", + "symfony/css-selector": ">=4.4.24 <7.0" + }, + "conflict": { + "codeception/codeception": "<5.0.0-alpha3" + }, + "require-dev": { + "php-webdriver/webdriver": "^1.12", + "phpunit/phpunit": "^9.5 | ^10.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gintautas Miselis" + } + ], + "description": "Library containing files used by module-webdriver and lib-innerbrowser or module-phpbrowser", + "homepage": "https://codeception.com/", + "keywords": [ + "codeception" + ], + "support": { + "issues": "https://github.com/Codeception/lib-web/issues", + "source": "https://github.com/Codeception/lib-web/tree/1.0.1" + }, + "time": "2022-04-09T08:17:46+00:00" }, { "name": "codeception/module-asserts", - "version": "1.3.1", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/Codeception/module-asserts.git", - "reference": "59374f2fef0cabb9e8ddb53277e85cdca74328de" + "reference": "1b6b150b30586c3614e7e5761b31834ed7968603" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeception/module-asserts/zipball/59374f2fef0cabb9e8ddb53277e85cdca74328de", - "reference": "59374f2fef0cabb9e8ddb53277e85cdca74328de", + "url": "https://api.github.com/repos/Codeception/module-asserts/zipball/1b6b150b30586c3614e7e5761b31834ed7968603", + "reference": "1b6b150b30586c3614e7e5761b31834ed7968603", "shasum": "" }, "require": { "codeception/codeception": "*@dev", - "codeception/lib-asserts": "^1.13.1", - "php": ">=5.6.0 <9.0" + "codeception/lib-asserts": "^2.0", + "php": "^8.0" }, "conflict": { - "codeception/codeception": "<4.0" + "codeception/codeception": "<5.0" }, "type": "library", "autoload": { @@ -4714,27 +4782,27 @@ ], "support": { "issues": "https://github.com/Codeception/module-asserts/issues", - "source": "https://github.com/Codeception/module-asserts/tree/1.3.1" + "source": "https://github.com/Codeception/module-asserts/tree/3.0.0" }, - "time": "2020-10-21T16:48:15+00:00" + "time": "2022-02-16T19:48:08+00:00" }, { "name": "codeception/module-cli", - "version": "1.1.1", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/Codeception/module-cli.git", - "reference": "1f841ad4a1d43e5d9e60a43c4cc9e5af8008024f" + "reference": "aa9bdd8346983eebc3aa3f21e902399ceefec372" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeception/module-cli/zipball/1f841ad4a1d43e5d9e60a43c4cc9e5af8008024f", - "reference": "1f841ad4a1d43e5d9e60a43c4cc9e5af8008024f", + "url": "https://api.github.com/repos/Codeception/module-cli/zipball/aa9bdd8346983eebc3aa3f21e902399ceefec372", + "reference": "aa9bdd8346983eebc3aa3f21e902399ceefec372", "shasum": "" }, "require": { "codeception/codeception": "*@dev", - "php": ">=5.6.0 <9.0" + "php": "^7.4 || ^8.0" }, "conflict": { "codeception/codeception": "<4.0" @@ -4755,37 +4823,37 @@ } ], "description": "Codeception module for testing basic shell commands and shell output", - "homepage": "http://codeception.com/", + "homepage": "https://codeception.com/", "keywords": [ "codeception" ], "support": { "issues": "https://github.com/Codeception/module-cli/issues", - "source": "https://github.com/Codeception/module-cli/tree/1.1.1" + "source": "https://github.com/Codeception/module-cli/tree/2.0.0" }, - "time": "2020-12-26T16:56:19+00:00" + "time": "2021-12-01T01:21:55+00:00" }, { "name": "codeception/module-filesystem", - "version": "1.0.3", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/Codeception/module-filesystem.git", - "reference": "781be167fb1557bfc9b61e0a4eac60a32c534ec1" + "reference": "326ef1c1edf90f52ceec2965ff240a8d93c1ba63" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeception/module-filesystem/zipball/781be167fb1557bfc9b61e0a4eac60a32c534ec1", - "reference": "781be167fb1557bfc9b61e0a4eac60a32c534ec1", + "url": "https://api.github.com/repos/Codeception/module-filesystem/zipball/326ef1c1edf90f52ceec2965ff240a8d93c1ba63", + "reference": "326ef1c1edf90f52ceec2965ff240a8d93c1ba63", "shasum": "" }, "require": { - "codeception/codeception": "^4.0", - "php": ">=5.6.0 <9.0", - "symfony/finder": ">=2.7 <6.0" + "codeception/codeception": "*@dev", + "php": "^8.0", + "symfony/finder": "^4.4 || ^5.4 || ^6.0" }, "conflict": { - "codeception/codeception": "<4.0" + "codeception/codeception": "<5.0" }, "type": "library", "autoload": { @@ -4806,34 +4874,38 @@ } ], "description": "Codeception module for testing local filesystem", - "homepage": "http://codeception.com/", + "homepage": "https://codeception.com/", "keywords": [ "codeception", "filesystem" ], "support": { "issues": "https://github.com/Codeception/module-filesystem/issues", - "source": "https://github.com/Codeception/module-filesystem/tree/1.0.3" + "source": "https://github.com/Codeception/module-filesystem/tree/3.0.0" }, - "time": "2020-10-24T14:46:40+00:00" + "time": "2022-03-14T18:48:55+00:00" }, { "name": "codeception/module-webdriver", - "version": "1.4.0", + "version": "3.1.2", "source": { "type": "git", "url": "https://github.com/Codeception/module-webdriver.git", - "reference": "baa18b7bf70aa024012f967b5ce5021e1faa9151" + "reference": "1c2680b9f6584bb0413c56087eb0613e7b61afb0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeception/module-webdriver/zipball/baa18b7bf70aa024012f967b5ce5021e1faa9151", - "reference": "baa18b7bf70aa024012f967b5ce5021e1faa9151", + "url": "https://api.github.com/repos/Codeception/module-webdriver/zipball/1c2680b9f6584bb0413c56087eb0613e7b61afb0", + "reference": "1c2680b9f6584bb0413c56087eb0613e7b61afb0", "shasum": "" }, "require": { - "codeception/codeception": "^4.0", - "php": ">=5.6.0 <9.0", + "codeception/codeception": "^5.0.0-RC2", + "codeception/lib-web": "^1.0.1", + "codeception/stub": "^4.0", + "ext-json": "*", + "ext-mbstring": "*", + "php": "^8.0", "php-webdriver/webdriver": "^1.8.0" }, "suggest": { @@ -4861,7 +4933,7 @@ } ], "description": "WebDriver module for Codeception", - "homepage": "http://codeception.com/", + "homepage": "https://codeception.com/", "keywords": [ "acceptance-testing", "browser-testing", @@ -4869,75 +4941,30 @@ ], "support": { "issues": "https://github.com/Codeception/module-webdriver/issues", - "source": "https://github.com/Codeception/module-webdriver/tree/1.4.0" + "source": "https://github.com/Codeception/module-webdriver/tree/3.1.2" }, - "time": "2021-09-02T12:01:02+00:00" - }, - { - "name": "codeception/phpunit-wrapper", - "version": "9.0.6", - "source": { - "type": "git", - "url": "https://github.com/Codeception/phpunit-wrapper.git", - "reference": "b0c06abb3181eedca690170f7ed0fd26a70bfacc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Codeception/phpunit-wrapper/zipball/b0c06abb3181eedca690170f7ed0fd26a70bfacc", - "reference": "b0c06abb3181eedca690170f7ed0fd26a70bfacc", - "shasum": "" - }, - "require": { - "php": ">=7.2", - "phpunit/phpunit": "^9.0" - }, - "require-dev": { - "codeception/specify": "*", - "consolidation/robo": "^3.0.0-alpha3", - "vlucas/phpdotenv": "^3.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Codeception\\PHPUnit\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Davert", - "email": "davert.php@resend.cc" - }, - { - "name": "Naktibalda" - } - ], - "description": "PHPUnit classes used by Codeception", - "support": { - "issues": "https://github.com/Codeception/phpunit-wrapper/issues", - "source": "https://github.com/Codeception/phpunit-wrapper/tree/9.0.6" - }, - "time": "2020-12-28T13:59:47+00:00" + "time": "2022-07-27T09:09:02+00:00" }, { "name": "codeception/stub", - "version": "3.7.0", + "version": "4.0.2", "source": { "type": "git", "url": "https://github.com/Codeception/Stub.git", - "reference": "468dd5fe659f131fc997f5196aad87512f9b1304" + "reference": "18a148dacd293fc7b044042f5aa63a82b08bff5d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeception/Stub/zipball/468dd5fe659f131fc997f5196aad87512f9b1304", - "reference": "468dd5fe659f131fc997f5196aad87512f9b1304", + "url": "https://api.github.com/repos/Codeception/Stub/zipball/18a148dacd293fc7b044042f5aa63a82b08bff5d", + "reference": "18a148dacd293fc7b044042f5aa63a82b08bff5d", "shasum": "" }, "require": { - "phpunit/phpunit": "^8.4 | ^9.0" + "php": "^7.4 | ^8.0", + "phpunit/phpunit": "^8.4 | ^9.0 | ^10.0 | 10.0.x-dev" + }, + "require-dev": { + "consolidation/robo": "^3.0" }, "type": "library", "autoload": { @@ -4952,9 +4979,9 @@ "description": "Flexible Stub wrapper for PHPUnit's Mock Builder", "support": { "issues": "https://github.com/Codeception/Stub/issues", - "source": "https://github.com/Codeception/Stub/tree/3.7.0" + "source": "https://github.com/Codeception/Stub/tree/4.0.2" }, - "time": "2020-07-03T15:54:43+00:00" + "time": "2022-01-31T19:25:15+00:00" }, { "name": "composer/ca-bundle", @@ -6896,6 +6923,82 @@ ], "time": "2022-06-19T12:14:25+00:00" }, + { + "name": "psy/psysh", + "version": "v0.11.8", + "source": { + "type": "git", + "url": "https://github.com/bobthecow/psysh.git", + "reference": "f455acf3645262ae389b10e9beba0c358aa6994e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/f455acf3645262ae389b10e9beba0c358aa6994e", + "reference": "f455acf3645262ae389b10e9beba0c358aa6994e", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-tokenizer": "*", + "nikic/php-parser": "^4.0 || ^3.1", + "php": "^8.0 || ^7.0.8", + "symfony/console": "^6.0 || ^5.0 || ^4.0 || ^3.4", + "symfony/var-dumper": "^6.0 || ^5.0 || ^4.0 || ^3.4" + }, + "conflict": { + "symfony/console": "4.4.37 || 5.3.14 || 5.3.15 || 5.4.3 || 5.4.4 || 6.0.3 || 6.0.4" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.2" + }, + "suggest": { + "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", + "ext-pdo-sqlite": "The doc command requires SQLite to work.", + "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.", + "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history." + }, + "bin": [ + "bin/psysh" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "0.11.x-dev" + } + }, + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Psy\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Justin Hileman", + "email": "justin@justinhileman.info", + "homepage": "http://justinhileman.com" + } + ], + "description": "An interactive shell for modern PHP.", + "homepage": "http://psysh.org", + "keywords": [ + "REPL", + "console", + "interactive", + "shell" + ], + "support": { + "issues": "https://github.com/bobthecow/psysh/issues", + "source": "https://github.com/bobthecow/psysh/tree/v0.11.8" + }, + "time": "2022-07-28T14:25:11+00:00" + }, { "name": "react/promise", "version": "v2.9.0", @@ -8049,21 +8152,20 @@ }, { "name": "symfony/css-selector", - "version": "v5.4.2", + "version": "v6.1.3", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "cfcbee910e159df402603502fe387e8b677c22fd" + "reference": "0dd5e36b80e1de97f8f74ed7023ac2b837a36443" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/cfcbee910e159df402603502fe387e8b677c22fd", - "reference": "cfcbee910e159df402603502fe387e8b677c22fd", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/0dd5e36b80e1de97f8f74ed7023ac2b837a36443", + "reference": "0dd5e36b80e1de97f8f74ed7023ac2b837a36443", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.1" }, "type": "library", "autoload": { @@ -8095,7 +8197,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v5.4.2" + "source": "https://github.com/symfony/css-selector/tree/v6.1.3" }, "funding": [ { @@ -8111,7 +8213,7 @@ "type": "tidelift" } ], - "time": "2021-12-16T21:58:21+00:00" + "time": "2022-06-27T17:24:16+00:00" }, { "name": "symfony/process", @@ -8365,12 +8467,12 @@ "source": { "type": "git", "url": "https://github.com/TYPO3/testing-framework.git", - "reference": "6946c6dbc6bd5762d059b8b39f9dec95792a0937" + "reference": "0059255c51af1a476eedfda3d5a52a210f3db093" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3/testing-framework/zipball/6946c6dbc6bd5762d059b8b39f9dec95792a0937", - "reference": "6946c6dbc6bd5762d059b8b39f9dec95792a0937", + "url": "https://api.github.com/repos/TYPO3/testing-framework/zipball/0059255c51af1a476eedfda3d5a52a210f3db093", + "reference": "0059255c51af1a476eedfda3d5a52a210f3db093", "shasum": "" }, "require": { @@ -8385,8 +8487,7 @@ "typo3/cms-fluid": "12.*.*@dev", "typo3/cms-frontend": "12.*.*@dev", "typo3/cms-install": "12.*.*@dev", - "typo3/cms-recordlist": "12.*.*@dev", - "typo3fluid/fluid": "^2.7.1" + "typo3/cms-recordlist": "12.*.*@dev" }, "conflict": { "doctrine/dbal": "2.13.0 || 2.13.1" @@ -8433,7 +8534,7 @@ "issues": "https://github.com/TYPO3/testing-framework/issues", "source": "https://github.com/TYPO3/testing-framework/tree/main" }, - "time": "2022-07-26T17:30:12+00:00" + "time": "2022-07-31T10:03:57+00:00" } ], "aliases": [], diff --git a/typo3/sysext/core/Tests/Acceptance/Application.suite.yml b/typo3/sysext/core/Tests/Acceptance/Application.suite.yml index 58dac2033e01..8334166aaefd 100644 --- a/typo3/sysext/core/Tests/Acceptance/Application.suite.yml +++ b/typo3/sysext/core/Tests/Acceptance/Application.suite.yml @@ -1,4 +1,4 @@ -class_name: ApplicationTester +actor: ApplicationTester modules: enabled: - WebDriver: diff --git a/typo3/sysext/core/Tests/Acceptance/Support/Extension/InstallMysqlCoreEnvironment.php b/typo3/sysext/core/Tests/Acceptance/Support/Extension/InstallMysqlCoreEnvironment.php index 106e43cfba79..8d5ae665035e 100644 --- a/typo3/sysext/core/Tests/Acceptance/Support/Extension/InstallMysqlCoreEnvironment.php +++ b/typo3/sysext/core/Tests/Acceptance/Support/Extension/InstallMysqlCoreEnvironment.php @@ -35,7 +35,7 @@ class InstallMysqlCoreEnvironment extends Extension /** * @var array Default configuration values */ - protected $config = [ + protected array $config = [ 'typo3InstallMysqlDatabaseHost' => '127.0.0.1', 'typo3InstallMysqlDatabasePassword' => '', 'typo3InstallMysqlDatabaseUsername' => 'root', @@ -45,7 +45,7 @@ class InstallMysqlCoreEnvironment extends Extension /** * Override configuration from ENV if needed */ - public function _initialize() + public function _initialize(): void { $env = getenv('typo3InstallMysqlDatabaseHost'); $this->config['typo3InstallMysqlDatabaseHost'] = is_string($env) diff --git a/typo3/sysext/core/Tests/Acceptance/Support/Extension/InstallPostgresqlCoreEnvironment.php b/typo3/sysext/core/Tests/Acceptance/Support/Extension/InstallPostgresqlCoreEnvironment.php index a5f2048fabac..b9235f0bffee 100644 --- a/typo3/sysext/core/Tests/Acceptance/Support/Extension/InstallPostgresqlCoreEnvironment.php +++ b/typo3/sysext/core/Tests/Acceptance/Support/Extension/InstallPostgresqlCoreEnvironment.php @@ -35,7 +35,7 @@ class InstallPostgresqlCoreEnvironment extends Extension /** * @var array Default configuration values */ - protected $config = [ + protected array $config = [ 'typo3InstallPostgresqlDatabaseHost' => '127.0.0.1', 'typo3InstallPostgresqlDatabasePort' => 5432, 'typo3InstallPostgresqlDatabasePassword' => '', @@ -46,7 +46,7 @@ class InstallPostgresqlCoreEnvironment extends Extension /** * Override configuration from ENV if needed */ - public function _initialize() + public function _initialize(): void { $env = getenv('typo3InstallPostgresqlDatabaseHost'); $this->config['typo3InstallPostgresqlDatabaseHost'] = is_string($env) diff --git a/typo3/sysext/core/Tests/codeception.yml b/typo3/sysext/core/Tests/codeception.yml index fc0a489c0cfa..f7dff4d0756a 100644 --- a/typo3/sysext/core/Tests/codeception.yml +++ b/typo3/sysext/core/Tests/codeception.yml @@ -2,7 +2,7 @@ namespace: TYPO3\CMS\Core\Tests\Acceptance\Support paths: tests: Acceptance data: . - log: ../../../../typo3temp/var/tests/AcceptanceReports + output: ../../../../typo3temp/var/tests/AcceptanceReports support: Acceptance/Support settings: colors: true -- GitLab