Perf tests: Await all test actions in a single closure to prevent parallelism#76224
Perf tests: Await all test actions in a single closure to prevent parallelism#76224chriszarate wants to merge 4 commits intotrunkfrom
Conversation
There was a problem hiding this comment.
This seems like a reasonably safe fix for the currently broken performance tests. If the cause is a huge post with multiple users non-intentionally, you're right that this isn't the point of the original test. It's probably not a regression but a unintentional comparison between different situations.
We should still follow-up to create an intentional real-time collaboration performance test around this same scenario, because there is a different real-time collaboration performance issue to diagnose.
|
The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message. To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
|
Size Change: 0 B Total Size: 6.88 MB ℹ️ View Unchanged
|
|
Flaky tests detected in 9481208. 🔍 Workflow run URL: https://github.com/WordPress/gutenberg/actions/runs/22748790169
|
2f80229 to
57b45ef
Compare
80552a8 to
9481208
Compare
9481208 to
0d647ab
Compare
What?
Await all test actions in a single closure to prevent parallelism.
Why?
Even with a single worker (the default), I observed multiple tests running at once due to how the loop is constructed. The
testfunction is called immediately and it's up to the test runner (Playwright) to determine when to execute the callback. In my local testing, I observed tests running in parallel, which causes multiple collaborators to join the session, overload the test server, and subvert the intention of the test.How?
Move the loop so that it executes in a single
testandawaits each iteration.Testing Instructions