-
Notifications
You must be signed in to change notification settings - Fork 45
Unflagging PR blockers #394
Description
I wanted to create a tracking issue for the unflagging PR which is located at https://github.com/nodejs/ecmascript-modules/tree/unflag-test-sadness.
We initially had 118 failing tests which is down to 66 down to 35 but we still have a way to go to get there.
Here's a summary of the failing tests that are remaining:
-
Async Hooks: Async hooks tests are the major cause of failures with
5318 failures fromtest/async-hooks
and711 failures fromtest/parallel/test-async-*
and 1 fromtest/parallel/test-heapdump-async-hooks-init-promise.js
. The reason for a lot of these seems to be along the lines that introducing promises into the Node.js bootstrap means that we now have promise events emitted from the bootstrap promises, which break previous assumptions. There are two major aspects to this (1) updating fixtures to deal with core promises being emitted, possibly even implementing acore
flag on the async hook event itself (2) handling the fact that initialization promises aren't being emitted to async hooks as the bootstrap is happening before user code can listen to the initialization of those promises, but it will still get the completion of those promises resulting in issues where only the completion is seen by hooks but not the initialization. -
Domain: 3 failing tests from
test/parallel/test-domain-*
that seems to do with process exit handling. -
Process exception: 2 failing tests for
test/parallel/test-process-exception-*
to do with process exit handling on exceptions. -
Coverage: 1 failing test for
test/parallel/test-v8-coverage.js
due to the fact that when executing CommonJS throughcreate-dynamic-module.js
, we use the wrapper looking likeexport default commonjs
resulting in coverage being reported for the ESM wrapper instead of the CommonjS module itself. One fix might be to change the internal ids. A better fix might be to updatecreate-dynamic-module.js
to use synthetic module records which might avoid the coverage reporting from "overwriting" the CJS coverage. Perhaps there is another way to tackle this too.
And that really is everything before we can look at getting the PR going. Help working on this branch would be amazing, as we are currently blocked on just working through these cases.