mirror of
https://github.com/Comfy-Org/desktop.git
synced 2026-11-04 23:47:43 +00:00
[GH-ISSUE #900] [DevTask] Separate e2e tests - install & post-install #248
Labels
No labels
area: desktop-app
Bounty
bug
bug-cop:answered
bug-cop:response-received
component: installer
component: preload
custom node
dependencies
Design
documentation
duplicate
enhancement
expected
frontend
good first issue
installation
Low-Priority
performance
Planned
platform: cross-platform
platform: windows
Potential Bug
Potential Bug
pull-request
question
refactor
Release
stale
User Support
V1
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Comfy-Org/desktop#248
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @webfiltered on GitHub (Feb 14, 2025).
Original GitHub issue: https://github.com/Comfy-Org/desktop/issues/900
End-to-end tests currently clean state on exit when the test option is set. There is no separation or grouping of install tests and
Playwright project, or simply a different setup / config file & test directory may be used for this.
┆Issue is synchronized with this Notion page by Unito
@christian-byrne commented on GitHub (Feb 14, 2025):
Separate setups with their own workflows is cleanest but would be wasteful. What about just 2 projects with tests selected by
@tagsin test descriptions, and configured such that the post-install projects runs second?@webfiltered commented on GitHub (Feb 14, 2025):
I need to clean up the test classes still - forgot to move them out of
tests/integration. Everything apart from the spec files and setup / config would be shared.Does Playwright guarantee projects will be run in a certain order? My local Playwright ran tests in a different order to CI. I think it might look like it has an order but just isn't guaranteed anywhere (version / env change could cause flakiness, etc).
Also I thought the projects + @tags thing was designed to do multiple runs of the same thing with different browsers. I had a look at it a day or two ago but it didn't seem right. As in, it looked possible, just kind of hacky compared to just dropping the spec files into different subdirs.
@christian-byrne commented on GitHub (Feb 14, 2025):
Yep, there is the option to specify projects as being dependencies of one another to support our exact use case: https://playwright.dev/docs/test-projects#dependencies
"When working with tests that have a dependency, the dependency will always run first and once all tests from this project have passed, then the other projects will run in parallel."
It does feel hacky. Splitting based on file/subdir could be better. I was thinking there might be tests that want to be run in both pre-install and post-install e.g., the window open/close tests.
@webfiltered commented on GitHub (Feb 14, 2025):
Excellent. Four projects, three subdirs. One project for a shared test dir. One that is just the one file - setup for post-install tests. It will use the uv cache so will take ~30sec. Less brittle that way.
More test files is good - especially as we can only hope to parallelise by sharding (at a much later date).
@christian-byrne commented on GitHub (Feb 14, 2025):
So the purpose of having a
setup for post-installproject is that the installation tests will (in the future) teardown installation files?@christian-byrne commented on GitHub (Feb 14, 2025):
How about this?