Repository navigation
#58 - Tests: detect the deprecations and boot a kernel with process-bundle - #61
Merged
Merged
Conversation
…undle - PHPUnit fails on deprecations (failOnDeprecation, details displayed), the silenced ones included (ignoreSuppressionOfDeprecations). The new tests/bootstrap.php enables the Symfony DebugClassLoader (@Final, @internal, return types). - New functional test booting a kernel (FrameworkBundle, DoctrineBundle with DBAL on SQLite in memory, process-bundle and this bundle): doctrine is resolved, the 10 task codes resolve to their class. The resolution of the task codes is skipped without TaskRegistry (cleverage/process-bundle < 5.4). - TestKernel sets framework.property_info.with_constructor_extractor from Symfony 7.3; Rector does not remove this condition on the Symfony version. - AbstractDoctrineQueryTask (DoctrineReaderTask order_by): pass the \SortDirection enum to QueryBuilder::addOrderBy() when doctrine/orm accepts it (3.7+, string directions deprecated there), the string otherwise. - Require psr/log ^2 || ^3: process-bundle's AbstractLogger is fatal with psr/log 1 (lowest dependencies, revealed by the kernel test). - Require symfony/framework-bundle in dev. - CI: the lowest dependencies are tested on the lowest PHP version only, as in the other bridges: with PHP 8.4+, Symfony 6.4.0 triggers PHP deprecations (implicitly nullable parameters) that now fail the tests. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
njoubert-cleverage
force-pushed
the
58
branch
from
October 19, 2026 15:48
38ee9a0 to
98b2378
Compare
1 of 4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Fixes #58 (bridge part of cleverage/process-bundle#303). Same as the other bridges (e.g. cleverage/rest-process-bundle#66), plus two fixes revealed by the new checks.
phpunit.xml.dist:failOnDeprecationanddisplayDetailsOnTestsThatTriggerDeprecations;<source ignoreSuppressionOfDeprecations="true">, so that the deprecations triggered withtrigger_deprecation()(silenced@trigger_error()) are reported.tests/bootstrap.php:DebugClassLoader::enable().tests/App/TestKernel.php+tests/Functional/KernelTest.php(#[CoversNothing]): FrameworkBundle, DoctrineBundle (DBAL only, SQLite in memory: no ORM configuration whose deprecations differ between DoctrineBundle versions), process-bundle and this bundle.doctrineis resolved; the 10 task codes resolve to their class withTaskRegistry(process-bundle 5.4, skipped with the released versions).TestKernelsetsframework.property_info.with_constructor_extractorfrom Symfony 7.3;rector.phpskipsRemoveAlwaysTrueIfConditionRectorfortests/App/TestKernel.php.AbstractDoctrineQueryTask::getQueryBuilder()(order_byoption ofDoctrineReaderTask): doctrine/orm 3.7 deprecates the string sort directions ([RFC] Follow-up ondoctrine/collectionsOrder enum doctrine/orm#11313). The\SortDirectionenum is passed whenaddOrderBy()accepts it (checked once by reflection), the string otherwise: same query, nothing changes with doctrine/orm < 3.7. New test for the descending order.psr/log^2 || ^3inrequire(was^1.1.4 || ^2 || ^3): with psr/log 1, process-bundle'sAbstractLoggeris fatal as soon as a kernel boots (lowest dependencies). Same change as CI: test the lowest dependencies flysystem-process-bundle#49, CI: test the lowest dependencies rest-process-bundle#50, CI: test the lowest dependencies soap-process-bundle#43.symfony/framework-bundlerequired in dev.test.yml): the lowest dependencies are tested on PHP 8.2 only, as in the other bridges. With PHP 8.4 and 8.5, the lowest dependencies (Symfony 6.4.0, released before PHP 8.4) trigger hundreds of PHP deprecations in the vendor code (implicitly nullable parameters), which now fail the tests: the lowest versions are meant for the lowest PHP version.Checked in the container: highest dependencies (PHP 8.5, process-bundle 5.3, PHPUnit 13, Symfony 8.1), lowest dependencies (PHP 8.2, process-bundle 5.0, PHPUnit 11.5, Symfony 6.4.0), Symfony 6.4.48 and 7.4 (highest), process-bundle
dev-main: no deprecation, no risky test; PHPStan, PHP-CS-Fixer and Rector OK.Requirements
Breaking changes
None. psr/log 1 is no longer accepted, but process-bundle does not work with it.
🤖 Generated with Claude Code