Conversation
|
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: 7.69 MB ℹ️ View Unchanged
|
|
Flaky tests detected in e1194b5. 🔍 Workflow run URL: https://github.com/WordPress/gutenberg/actions/runs/23615342510
|
…. Decrease test overall timeouts
* Add e2e tests for core text blocks * Add container blocks tests * Add tests for media/embed/utility blocks * Add dynamic block tests * Make it easier to start a second tab mid-test * Update blocks via typing in content * Manually insert text blocks * Add explicit throws if expected blocks are missing * Fix year in e2e test * Use actual media URLs to avoid devtools errors from non-existent URLs. Decrease test overall timeouts Co-authored-by: alecgeatches <alecgeatches@git.wordpress.org> Co-authored-by: ingeniumed <ingeniumed@git.wordpress.org>
* Add e2e tests for core text blocks * Add container blocks tests * Add tests for media/embed/utility blocks * Add dynamic block tests * Make it easier to start a second tab mid-test * Update blocks via typing in content * Manually insert text blocks * Add explicit throws if expected blocks are missing * Fix year in e2e test * Use actual media URLs to avoid devtools errors from non-existent URLs. Decrease test overall timeouts Co-authored-by: alecgeatches <alecgeatches@git.wordpress.org> Co-authored-by: ingeniumed <ingeniumed@git.wordpress.org>
* Add e2e tests for core text blocks * Add container blocks tests * Add tests for media/embed/utility blocks * Add dynamic block tests * Make it easier to start a second tab mid-test * Update blocks via typing in content * Manually insert text blocks * Add explicit throws if expected blocks are missing * Fix year in e2e test * Use actual media URLs to avoid devtools errors from non-existent URLs. Decrease test overall timeouts Co-authored-by: alecgeatches <alecgeatches@git.wordpress.org> Co-authored-by: ingeniumed <ingeniumed@git.wordpress.org>
What?
This PR adds a "block gauntlet" test suite for real-time collaboration. It tests syncing across a set of core block types between two concurrent users.
Tested blocks:
core/paragraph,core/heading,core/code,core/preformatted,core/verse,core/pullquotecore/group,core/columns,core/column,core/buttons,core/button,core/details,core/quote,core/list,core/list-item,core/cover,core/media-textcore/image,core/gallery,core/audio,core/video,core/file,core/embed,core/html,core/shortcode,core/table,core/morecore/archives,core/calendar,core/categories,core/latest-posts,core/latest-comments,core/rss,core/search,core/tag-cloud,core/social-links,core/social-link,core/separator,core/spacerWhy?
The existing RTC E2E stress test (#76055) validates complex interactions, but it only works with a handful of block types. This is more of a breadth-first approach, trying to hit as many core blocks as possible, but not necessarily in great depth. We've seen sync issues surface in specific blocks (like tables or nested inner blocks) that wouldn't have been caught without targeted coverage.
This gauntlet gives us a regression net that exercises the CRDT sync path for ~35 core blocks, so we'll catch block-specific serialization or attribute sync failures for more blocks more quickly.
How?
Test files are organized into four test cases, each following the same pattern: User A inserts a batch of blocks, User B joins (which is a common place where syncing bugs happen) and modifies every block, then User A verifies all changes synced correctly.
Testing Instructions
Enable RTC via Settings -> Writing -> "Enable real-time collaboration" checkbox.
Run the block gauntlet test suite:
I tested this locally and the tests succeeded in 15 sequential runs.
All four test cases should pass.
Use of AI Tools
AI assistance: Yes
Tool(s): Claude Code
Used for: Generating initial test structure and iterating on block insertion/modification strategies