{{ message }}
test_runner: wait for filtered suite build#64208
Open
semimikoh wants to merge 1 commit into
Open
Conversation
Collaborator
Signed-off-by: semimikoh <ejffjeosms@gmail.com>
3db8275 to
55f1419
Compare
MoLow
approved these changes
Jun 30, 2026
Member
This part sounds to me like something an LLM would write, and it doesn't really make a lot of sense to me. if the binary is old, |
Contributor
Author
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.

Problem
When a filtered
Suitehas an async body, it can still be building itschildren when the filtered run path calls
postRun(). If the suite bodyuses
await test(...), the filtered child can be registered after thesuite is already being cleaned up, causing the child to be cancelled.
That leaves the run with no reported test failures, but a non-zero exit
code due to the cancelled test.
Fix
Make
Suite#filteredRun()wait forbuildSuitebefore delegating to thebase filtered run implementation. This keeps filtered suites from being
cleaned up while their async body is still registering children.
Test
Adds a regression fixture with awaited suites and awaited tests, then runs
it with
--test --test-isolation=none --test-name-pattern=C. The testasserts the run exits successfully and does not report any cancelled tests.
Verification
$ git diff --cached --checkThe full regression test was not completed locally because the existing
out/Release/nodebinary in this checkout isv22.22.2-preand is notcompatible with the current
maintest suite; the existingtest-runner-no-isolation-filteringcases fail with status 9 before thischange can be validated.
Fixes: #64203