-
Notifications
You must be signed in to change notification settings - Fork 31k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
esm: syncify default path of ModuleLoader.load
#57419
base: main
Are you sure you want to change the base?
esm: syncify default path of ModuleLoader.load
#57419
Conversation
Review requested:
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #57419 +/- ##
========================================
Coverage 90.23% 90.23%
========================================
Files 630 629 -1
Lines 185200 184914 -286
Branches 36233 36223 -10
========================================
- Hits 167108 166854 -254
+ Misses 11056 11016 -40
- Partials 7036 7044 +8
🚀 New features to boost your workflow:
|
I investigated a bit on the weird failure and apparently there is some scheduling issue. |
Sweet, thanks! I was gonna take a look this evening. I'll apply it as soon as I finish work 🙂 |
0bcfae3
to
e7941fe
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this test's setup is the actual issue (I'm not sure why it was ever working 🤔):
global-hooks.js
contains a non-await
ed dynamic import at the root:import('node:test').then((test) => …)
- The global hooks setup file
--import
/--require
'd itself is indeed run before the test files (addedconsole.log('\n==global hooks==\n')
at line 1, and it prints first).
I suspect it was set up this way in order to re-use for both cjs and esm. @avivkeller it looks like you authored this test ~6 months ago. Would you perchance remember whether there was another reason? I can't think of one, but if there is, my change could inadvertently cause something to no-longer be covered.
Splitting global-hooks.js
into global-hooks.cjs
+ require & global-hooks.mjs
+ static import, the sequence issue appears to be fixed.
However, a few of the global test hooks are now just not printing at all for the --require
case (red lines are missing in actual vs expected):
before(): global
before one: <root>
suite one
before two: <root>
suite two
- beforeEach(): global
beforeEach one: suite one - test
beforeEach two: suite one - test
suite one - test
- afterEach(): global
afterEach one: suite one - test
afterEach two: suite one - test
before suite two: suite two
- beforeEach(): global
beforeEach one: suite two - test
beforeEach two: suite two - test
suite two - test
- afterEach(): global
afterEach one: suite two - test
afterEach two: suite two - test
- after(): global
after one: <root>
after two: <root>
In #57390 I somehow inadvertently created a branch on the node repo instead of my fork, and then got stuck.
Parent issue: #55782