Reviewed & tested by the community
Project:
Drupal core
Version:
11.x-dev
Component:
other
Priority:
Normal
Category:
Bug report
Assigned:
Unassigned
Issue tags:
Reporter:
Created:
28 Sep 2026 at 17:12 UTC
Updated:
5 Oct 2026 at 14:51 UTC
Jump to comment: Most recent
Comments
Comment #2
mcdruid commentedComment #5
bt dev2 commentedI have fixed the typo in \Drupal\PHPStan\Rules\TestClassClassMetadata::processNode().
Edit:
I also fixed the same typos in core/tests/PHPStan/tests/TestClassClassMetadataTest.php
But I still see the typo here, should we fix this as well?
/core/tests/Drupal/Tests/Core/Test/BrowserTestBaseTest.php
Comment #6
dcam commentedYes, it isn't just appropriate to fix it, it is also the reason for the PHPStan linting failure.
Comment #7
bt dev2 commentedYes, I fixed a typo in the BrowserTestBaseMockableClassTest doc. PHPStan linting is passing now, along with tests.
Comment #8
dcam commentedThank you @bd dev2.
I grepped Core for any additional instances of the string "RunInSeparateProcesses". None were found. This looks good to me.
Comment #9
dcam commentedI forgot to set the status to RTBC, but it's fine because I wanted to add more anyway.
The PHPStan error message changes are necessary because they reference the incorrect class name. But committers should consider the downstream impact of changing the rule identifier,
testClass.missingAttribute.RunInSeparateProcesses. The contrib code search doesn't return any results for the bad "RunInSeparateProcesses" name, but there could be someone out there using it, for instance to ignore the rule. Their tests would suddenly start failing due to the change.Comment #10
mcdruid commentedThanks for working on this.
The incorrect version's been there for nearly a year since 8e1a45a4d687.
So I think you're right, but I'd vote for correctness over leaving the mistake in place.
If that causes some people a little work to update things, sorry.. but it'll be correct from now on.
Others may have a different opinion though; the name of the identifier's perhaps not that significant.
Comment #14
catchI can't imagine anyone is relying on this outside this one test, so I've gone ahead and cherry-picked to 12.0.x and 11.5.x. I also don't think we should consider PHPStan rules to be 'API' in any sense at all. Generating a new baseline or updating a skip can happen for any number of reasons including phpstan updates themselves.
Committed/pushed to main and cherry-picked to 12.0.x and 11.x, thanks!
Comment #17
catchThis broke 11.x, https://git.drupalcode.org/project/drupal/-/pipelines/989488 will need a backport MR (or we could decide not to backport it).
Comment #18
bt dev2 commentedI could fix the typo in core/tests/Drupal/Tests/Core/Test/WebDriverTestBaseTest.php and push it to the "3626548-11.x-typo-in-drupalphpstanrulestestclassclassmetadataprocessnode" branch, where @catch reverted the changes.
And then, should we create another MR targeting 11.x?
Comment #19
catchA new MR targeting 11.x is good yes - then we can double check that phpstan continues to pass before committing it (which is what I should have asked for in the first place here).
Comment #21
bt dev2 commentedI created MR !17348 for 11.x. All tests and PHPStan analysis are passing.
Comment #22
dcam commentedThe backport looks good. There are no more instances of the typo string remaining in 11.x.