-
Notifications
You must be signed in to change notification settings - Fork 6k
Parallel tests #3664
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
Parallel tests #3664
Conversation
20ab0f7
to
2a515a0
Compare
Codecov Report
@@ Coverage Diff @@
## main #3664 +/- ##
==========================================
+ Coverage 59.87% 60.13% +0.25%
==========================================
Files 35 35
Lines 1797 1811 +14
Branches 364 365 +1
==========================================
+ Hits 1076 1089 +13
- Misses 605 606 +1
Partials 116 116
Continue to review full report at Codecov.
|
7e0753e
to
020d41a
Compare
387a342
to
268dc84
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.
Looks good to me!
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.
Fantastic work man 👏
I think there are a few places we need to add async
/await
but everything else looks good!
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.
Nice work man! This is huge. 🎉
The workspaces also have settings to prevent the welcome page from appearing.
This should simplify testing new utils a bit.
This way it can be used by the tests when spawning code-server on a random port to look for the address.
This uses the current dev build by default but can be overidden with CODE_SERVER_TEST_ENTRY (for example to test a release or some other version). Each instance has a separate state directory. This should make parallelization work. This also means you are no longer required to specify the password and address yourself (or the extension directory once we add a test extension). `yarn test:e2e` should just work as-is. Lastly, it means the tests are no longer subject to yarn watch randomly restarting.
My thinking is that this may reduce the cognitive overhead for developers writing new test suites. This also allows us to perform different setup steps (like ensuring the editor is visible when authenticated).
I figure login is already tested so we can skip this and just use the cookie.
It seems a dialog sometimes appears asking if you want to lose changes (even though we have no changes; it seems based on timers in some way). Playwright defaults to dismissing them (so quickly you might not even see them) so accepting instead fixes navigation to the logout page getting canceled.
daddd0c
to
2238d73
Compare
I recommend reviewing by commit (and reading the commit messages).
Setting as a draft until I'm sure the tests pass in CI.
Checklist
CHANGELOG.md