Skip to content

Fix #13904: narrow scope on version_compare( PHP_VERSION, '8.4', '<' ) #25579

Fix #13904: narrow scope on version_compare( PHP_VERSION, '8.4', '<' )

Fix #13904: narrow scope on version_compare( PHP_VERSION, '8.4', '<' ) #25579

Triggered via pull request February 16, 2026 09:35
Status Failure
Total duration 15m 50s
Artifacts

tests.yml

on: pull_request
Matrix: Tests PHPUnit 12.x
Determine levels tests matrix
38s
Determine levels tests matrix
Matrix: Integration tests
Matrix: Tests PHPUnit 11.x
Matrix: Tests with old PHPUnit
Matrix: Mutation Testing
Matrix: Levels tests
Fit to window
Zoom out
Zoom in

Annotations

4 errors and 4 warnings
Tests with old PHPUnit (7.4, ubuntu-latest)
Process completed with exit code 2.
Tests with old PHPUnit (7.4, windows-latest)
Process completed with exit code 1.
Mutation Testing (8.4, ubuntu-latest)
Process completed with exit code 1.
Mutation Testing (8.3, ubuntu-latest)
Process completed with exit code 1.
Mutation Testing (8.4, ubuntu-latest): src/Analyser/TypeSpecifier.php#L2951
Escaped Mutant for Mutator "PHPStan\Infection\TrueTruthyFalseFalseyTypeSpecifierContextMutator": @@ @@ } // For false context, flip the operator (like the standard Smaller handler does) - if ($context->false()) { + if ($context->falsey()) { $op = match ($op) { '<' => '>=', '<=' => '>',
Mutation Testing (8.4, ubuntu-latest): src/Analyser/TypeSpecifier.php#L2526
Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ && $unwrappedLeftExpr->name instanceof Name && $unwrappedLeftExpr->name->toLowerString() === 'version_compare' && count($unwrappedLeftExpr->getArgs()) === 2 - && $rightType->isInteger()->yes() + && !$rightType->isInteger()->no() ) { $result = $this->specifyTypesForVersionCompareResult($unwrappedLeftExpr, $scope, $rightType, $context, $expr); if ($result !== null) {
Mutation Testing (8.3, ubuntu-latest): src/Analyser/TypeSpecifier.php#L2951
Escaped Mutant for Mutator "PHPStan\Infection\TrueTruthyFalseFalseyTypeSpecifierContextMutator": @@ @@ } // For false context, flip the operator (like the standard Smaller handler does) - if ($context->false()) { + if ($context->falsey()) { $op = match ($op) { '<' => '>=', '<=' => '>',
Mutation Testing (8.3, ubuntu-latest): src/Analyser/TypeSpecifier.php#L2526
Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ && $unwrappedLeftExpr->name instanceof Name && $unwrappedLeftExpr->name->toLowerString() === 'version_compare' && count($unwrappedLeftExpr->getArgs()) === 2 - && $rightType->isInteger()->yes() + && !$rightType->isInteger()->no() ) { $result = $this->specifyTypesForVersionCompareResult($unwrappedLeftExpr, $scope, $rightType, $context, $expr); if ($result !== null) {