fix: run all .only tests across different nesting levels - #5878
Open
mostafaNazari702 wants to merge 1 commit into
Open
fix: run all .only tests across different nesting levels#5878mostafaNazari702 wants to merge 1 commit into
mostafaNazari702 wants to merge 1 commit into
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #5878 +/- ##
==========================================
+ Coverage 63.05% 63.06% +0.01%
==========================================
Files 64 64
Lines 4942 4941 -1
Branches 1120 1120
==========================================
Hits 3116 3116
+ Misses 1826 1825 -1 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Member
|
No major complaints at a glance, and the test failure is flaky. Thank you :) it will be some time before we're able to review all these PRs, we are focusing on converting from CJS to ESM right now to release Mocha 12 :) |
JoshuaKGoldberg
previously approved these changes
May 16, 2026
JoshuaKGoldberg
left a comment
Member
There was a problem hiding this comment.
Yup, this looks great. Nicely done! 🔥
As Mark said, we're focusing on getting v12 out the door with minimal breaking changes. And this is a semver-major change. Which means it'll have to wait for v13.
mostafaNazari702
force-pushed
the
fix/only-across-nesting-levels
branch
from
July 19, 2026 18:14
6896452 to
13bc79d
Compare
When a suite had both direct .only tests and nested suites containing .only content deeper in the tree, filterOnly() discarded the nested suites entirely. This happened because the _onlyTests branch set this.suites = [] unconditionally. Move suite filtering logic (via _onlySuites) out of the else branch so it runs regardless of whether direct .only tests exist. Non-only child suites without any .only descendants are still correctly removed. Fixes mochajs#4836
mostafaNazari702
force-pushed
the
fix/only-across-nesting-levels
branch
from
September 5, 2026 19:21
13bc79d to
a1ba87c
Compare
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.
PR Checklist
status: accepting prsOverview
filterOnly()had a bug where using.onlyat different nesting levelswould cause nested
.onlytests to get dropped. For example:Only "top-level" woud run -- "nested" was silently discarded because the
_onlyTestsbranch setthis.suites = [], wiping out all child suitesregardless of weither they had .only content.
the fix moves the suite filtering logic out of the else branch so it always
runs. Child suites without any .only content still get pruned correctly.