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
Matrix: Integration tests
Matrix: Tests PHPUnit 11.x
Matrix: Tests with old PHPUnit
Matrix: Mutation Testing
Matrix: Levels tests
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) {
|