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

Bypass vitest bug #32647

Merged
merged 1 commit into from
Nov 26, 2024
Merged

Bypass vitest bug #32647

merged 1 commit into from
Nov 26, 2024

Conversation

wxiaoguang
Copy link
Contributor

No description provided.

@GiteaBot GiteaBot added the lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. label Nov 26, 2024
@pull-request-size pull-request-size bot added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Nov 26, 2024
@wxiaoguang wxiaoguang added this to the 1.23.0 milestone Nov 26, 2024
@wxiaoguang wxiaoguang added skip-changelog This PR is irrelevant for the (next) changelog, for example bug fixes for unreleased features. type/testing labels Nov 26, 2024
@GiteaBot GiteaBot added lgtm/need 1 This PR needs approval from one additional maintainer to be merged. and removed lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. labels Nov 26, 2024
@GiteaBot GiteaBot added lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. and removed lgtm/need 1 This PR needs approval from one additional maintainer to be merged. labels Nov 26, 2024
@wxiaoguang wxiaoguang merged commit 722e703 into go-gitea:main Nov 26, 2024
26 checks passed
@wxiaoguang wxiaoguang deleted the fix-vitest branch November 26, 2024 15:10
@silverwind
Copy link
Member

silverwind commented Nov 26, 2024

It's not a vitest bug, but likely happy-dom. Vitest is just a test runner, it does not implement DOM APIs. Should report it there.

@silverwind
Copy link
Member

capricorn86/happy-dom#1620 might be related.

@wxiaoguang
Copy link
Contributor Author

Yup, I also have thought about it and I also felt that it might be highly related to DOM.

But I couldn't detect happy-dom by checking window.happyDOM, the only detectable clue is window.vitest, so the comments were left as "vitest". The comment (or the bug itself) could be fixed later if there is any upstream progress

zjjhot added a commit to zjjhot/gitea that referenced this pull request Nov 27, 2024
* giteaofficial/main:
  Introduce OrgList and add LoadTeams, optimaze Load teams for orgs (go-gitea#32543)
  Refactor markup render system (go-gitea#32645)
  Fix: passkey login not working anymore (go-gitea#32623)
  Refactor some frontend problems (go-gitea#32646)
  Bypass vitest bug (go-gitea#32647)
  Fix race condition in mermaid observer (go-gitea#32599)
  Improve oauth2 scope token handling (go-gitea#32633)
  Fixed Issue of Review Menu Shown Behind (go-gitea#32631)
  Add github compatible tarball download API endpoints (go-gitea#32572)
  Fix markup render regression and fix some tests (go-gitea#32640)
  Fix sqlite3 test (go-gitea#32622)
  Strict pagination check (go-gitea#32548)
@silverwind
Copy link
Member

silverwind commented Nov 27, 2024

I think the canonical way to detect vitest environment is either process.env.NODE_ENV === 'test' or VITEST_WORKER_ID in process.env. Ref: https://vitest.dev/guide/migration#envs

@wxiaoguang
Copy link
Contributor Author

Then it comes the question: how could it access process.env in queryElemChildren clearly?

@silverwind
Copy link
Member

Webpack will compile out process.env.XXX === 'xxx' expressions, at least when this plugin is enabled:

https://webpack.js.org/plugins/environment-plugin/

@wxiaoguang
Copy link
Contributor Author

wxiaoguang commented Nov 27, 2024

Webpack will compile out process.env.XXX === 'xxx' expressions, at least when this plugin is enabled:

https://webpack.js.org/plugins/environment-plugin/

I know this, but I mean how could it access process.env in queryElemChildren clearly? ? if (typeof process !== 'undefined')?

Hmm, OK, maybe no need that trick since we have the plugin.

@wxiaoguang
Copy link
Contributor Author

Maybe we need this Make frontend unit test code could know it is in testing #32656 , to distinguish from backend's "testing"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. modifies/frontend size/S Denotes a PR that changes 10-29 lines, ignoring generated files. skip-changelog This PR is irrelevant for the (next) changelog, for example bug fixes for unreleased features. type/testing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants