-
Notifications
You must be signed in to change notification settings - Fork 29.8k
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
build: run es-module tests in ci environment #15276
Conversation
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.
Oh no, sorry for overlooking this in my review. That being said some CI errors in the code in that PR did surface, but perhaps they were elsewhere. |
/cc @bmeck for CI errors @vsemozhetbyt I’d just do another PR for it |
@addaleax @bmeck seeing this one failing test myself on OSX: === release test-esm-pkg-over-ext ===
Path: es-module/test-esm-pkg-over-ext
(node:12584) ExperimentalWarning: The ESM module loader is experimental.
Error: module ../fixtures/module-pkg-over-ext/inner not found
at module.exports (internal/loader/search.js:16:12)
at resolveRequestUrl (internal/loader/resolveRequestUrl.js:81:13)
at Loader.getModuleJob (internal/loader/Loader.js:50:27)
at ModuleWrap.module.link (internal/loader/ModuleJob.js:30:25)
at linked (internal/loader/ModuleJob.js:28:21)
at <anonymous> Any thoughts? update: see #15280 problem seems to be a missing fixture. |
There should also be a corresponding change in |
@richardlau done (I think). |
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.
LGTM
The resolution of that test might change, due to it having a funny regression. See #14990 |
@bmeck this should not be blocking for now though, right? |
@BridgeAR yup, not blocking; just to note. |
@bcoe would you be so kind and rebase this? |
0f433cd
to
2c6f451
Compare
@BridgeAR done 👍 |
One more time https://ci.nodejs.org/job/node-test-pull-request/10074/ |
CI failed across the board. |
not ok 1664 es-module/test-esm-pkg-over-ext
---
duration_ms: 0.231
severity: fail
stack: |-
(node:39946) ExperimentalWarning: The ESM module loader is experimental.
Error: module ../fixtures/module-pkg-over-ext/inner not found
at module.exports (internal/loader/search.js:16:12)
at resolveRequestUrl (internal/loader/resolveRequestUrl.js:81:13)
at Loader.getModuleJob (internal/loader/Loader.js:50:27)
at ModuleWrap.module.link (internal/loader/ModuleJob.js:30:25)
at linked (internal/loader/ModuleJob.js:28:21)
at <anonymous>
... |
@jasnell not seeing any linting issues when running locally: Benjamins-MacBook-Pro:node benjamincoe$ make lint
Running JS linter...
./node tools/eslint/bin/eslint.js --cache --rulesdir=tools/eslint-rules --ext=.js,.mjs,.md \
benchmark doc lib test tools
Running C++ linter...
Total errors found: 0 I'm not seeing any useful output from the Windows CI tests, the only change is that the new es-module module suite has been added to Windows, so I assume this is the culprit. EDIT: figured out how to navigate Jenkins better: Error: module ../common not found
at module.exports (internal/loader/search.js:16:12)
at resolveRequestUrl (internal/loader/resolveRequestUrl.js:81:13)
at Loader.getModuleJob (internal/loader/Loader.js:50:27)
at ModuleWrap.module.link (internal/loader/ModuleJob.js:30:25)
at linked (internal/loader/ModuleJob.js:28:21)
at <anonymous>
(node:7092) ExperimentalWarning: The ESM module loader is experimental.
Error: module ./esm-snapshot-mutator not found
at module.exports (internal/loader/search.js:16:12)
at resolveRequestUrl (internal/loader/resolveRequestUrl.js:81:13)
at Loader.getModuleJob (internal/loader/Loader.js:50:27)
at ModuleWrap.module.link (internal/loader/ModuleJob.js:30:25)
at linked (internal/loader/ModuleJob.js:28:21)
at <anonymous> CC: @bmeck; I can work on getting a Windows testing environment up and running, but might be a while. |
@jasnell @bmeck got the Windows build running tonight and dug a bit more. I think the culprit is in Not much of a C++ programmer, so might need some direction here @bmeck. tldr; we weren't exercising the es-module code against Windows when it first landed due to the test suite having 35 magic variables that needed to be set whenever a new test folder was added. |
Entirely possible. @bmeck would be best bet to look at it but I'll see if I can get to it today (no guarantees) |
I'll get Windows running on my newer laptop today and see if I can dig a bit more too -- was painfully slow to compile on my at home computer. |
@jasnell tests should start passing for windows once we land #15490 Running lint, I'm not quite sure why that build server had issues: make lint
Running JS linter...
./node tools/eslint/bin/eslint.js --cache --rulesdir=tools/eslint-rules --ext=.js,.mjs,.md \
benchmark doc lib test tools
Running C++ linter...
Total errors found: 0 I think we should try to land this and #15490 before we land many more es-module features, e.g., #15445, since we're currently not exercising any of the code in CI. |
Appears to be working on Windows now, although CI is still running and there appear to be other non-related failures. |
@jasnell @TimothyGu that's looking a lot more promising: Is there a chance that the bindings test is flappy on win2016, I doubt this pull modifies anything related to it: |
@bcoe would you be so kind and please rebase? |
Add es-module to CI_JS_SUITES/js_test_suites, so that tests run in CI. Update test/README adding es-module section.
@BridgeAR done. |
Add es-module to CI_JS_SUITES/js_test_suites, so that tests run in CI. Update test/README adding es-module section. PR-URL: nodejs#15276 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Jeremiah Senkpiel <[email protected]> Reviewed-By: Timothy Gu <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Ruben Bridgewater <[email protected]> Reviewed-By: Daniel Bevenius <[email protected]> Reviewed-By: Yuta Hiroto <[email protected]> Reviewed-By: Refael Ackermann <[email protected]>
Landed in a1b6cfd |
Quick sanity test on |
Add es-module to CI_JS_SUITES/js_test_suites, so that tests run in CI. Update test/README adding es-module section. PR-URL: nodejs#15276 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Jeremiah Senkpiel <[email protected]> Reviewed-By: Timothy Gu <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Ruben Bridgewater <[email protected]> Reviewed-By: Daniel Bevenius <[email protected]> Reviewed-By: Yuta Hiroto <[email protected]> Reviewed-By: Refael Ackermann <[email protected]>
Add es-module to CI_JS_SUITES/js_test_suites, so that tests run in CI. Update test/README adding es-module section. PR-URL: #15276 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Jeremiah Senkpiel <[email protected]> Reviewed-By: Timothy Gu <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Ruben Bridgewater <[email protected]> Reviewed-By: Daniel Bevenius <[email protected]> Reviewed-By: Yuta Hiroto <[email protected]> Reviewed-By: Refael Ackermann <[email protected]>
Add es-module to CI_JS_SUITES/js_test_suites, so that tests run in CI. Update test/README adding es-module section. PR-URL: nodejs/node#15276 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Jeremiah Senkpiel <[email protected]> Reviewed-By: Timothy Gu <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Ruben Bridgewater <[email protected]> Reviewed-By: Daniel Bevenius <[email protected]> Reviewed-By: Yuta Hiroto <[email protected]> Reviewed-By: Refael Ackermann <[email protected]>
Add es-module to CI_JS_SUITES/js_test_suites, so that tests run in CI. Update test/README adding es-module section. PR-URL: #15276 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Jeremiah Senkpiel <[email protected]> Reviewed-By: Timothy Gu <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Ruben Bridgewater <[email protected]> Reviewed-By: Daniel Bevenius <[email protected]> Reviewed-By: Yuta Hiroto <[email protected]> Reviewed-By: Refael Ackermann <[email protected]>
Add es-module to CI_JS_SUITES/js_test_suites, so that tests run in CI. Update test/README adding es-module section. PR-URL: #15276 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Jeremiah Senkpiel <[email protected]> Reviewed-By: Timothy Gu <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Ruben Bridgewater <[email protected]> Reviewed-By: Daniel Bevenius <[email protected]> Reviewed-By: Yuta Hiroto <[email protected]> Reviewed-By: Refael Ackermann <[email protected]>
I noticed that there was no coverage for @bmeck's new module loading work in CI, I believe the issue might be that
es-module
was not added to theCI_JS_SUITES
variable. I've:abort
runs in CI, since I noted this listed in the list of suites listed inCI_JS_SUITES
.Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passesAffected core subsystem(s)
test,build