Skip to content
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

Browser tests are inconsistently failing due to dynamic istanbul import #2612

Closed
maschad opened this issue Jun 24, 2024 · 4 comments · Fixed by #2622
Closed

Browser tests are inconsistently failing due to dynamic istanbul import #2612

maschad opened this issue Jun 24, 2024 · 4 comments · Fixed by #2622
Assignees
Labels
chore Issue is a chore p0 High priority
Milestone

Comments

@maschad
Copy link
Member

maschad commented Jun 24, 2024

There are a few PRs currently failing on CI due to the failure to dynamically fetch istanbul for code coverage. This doesn't happen consistently though.

Here are a few affected PRs:

@maschad maschad added chore Issue is a chore p1 Medium priority labels Jun 24, 2024
@arboleya arboleya added p0 High priority and removed p1 Medium priority labels Jun 24, 2024
@arboleya
Copy link
Member

Bumping priority to p0 as it seems to affect everything else. cc @nedsalk

@arboleya arboleya added this to the 0.x mainnet milestone Jun 24, 2024
@maschad
Copy link
Member Author

maschad commented Jun 24, 2024

I see that some of the CI jobs are now passing upon re-running the jobs, so the PRs in my description may become outdated.

@petertonysmith94
Copy link
Contributor

The message may be misleading, as the logs the following errors are present:

Module "child_process" has been externalized for browser compatibility. Cannot access "child_process.spawn" in client code. See https://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.
Module "child_process" has been externalized for browser compatibility. Cannot access "child_process.exec" in client code. See https://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.

This appears to have been introduced in the following PR (based upon the CI failures):

I can imagine that there is failure path that is causing child_process to be called in the browser env, not 💯 sure where yet.

cc @nedsalk

@danielbate
Copy link
Contributor

Indeed child_process will not work in browser. When bundling, every time vite identifies that dep it'll give that warning. However, we should be dynamically importing it everywhere it is actually needed in tests. I'd expect it to throw on that line otherwise, like it did in the past before we had a dynamic import.

We could try the v8 coverage provider.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chore Issue is a chore p0 High priority
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants