Skip to content

Tests: Improve REST API test isolation - #13185

Draft
sirreal wants to merge 3 commits into
WordPress:trunkfrom
sirreal:agent/test-order-rest-api-isolation
Draft

Tests: Improve REST API test isolation#13185
sirreal wants to merge 3 commits into
WordPress:trunkfrom
sirreal:agent/test-order-rest-api-isolation

Conversation

@sirreal

@sirreal sirreal commented Aug 20, 2026

Copy link
Copy Markdown
Member

Summary

  • Isolates REST authentication flags, block registrations, widget factories, sidebar state, theme features, script globals, and mocked URL fixtures.
  • Replaces four external DNS-dependent font-face fixtures with a same-host URL accepted by wp_http_validate_url().
  • Keeps the changes confined to PHPUnit tests and fixtures.

Verification

  • Minimized seed 1789071003 to an intermittent rest_invalid_param response caused by fonts.gstatic.com DNS resolution, then passed 20/20 minimized fixed repetitions and replayed the full failing seed.
  • 100 consecutive fresh randomized REST API group runs passed on gated HEAD cd85108fe3; each completed 3,550 tests and 16,245 assertions with four known warnings and six skips.
  • Exact seeds 1789081001 through 1789081100 produced zero missing ordinals, duplicate ordinals, seed errors, nonzero exits, or summary drift.
  • A supplemental full random-order smoke on this exact isolated PR head passed the same 3,550/16,245 baseline. The DNS patch ID and nine changed file trees match the gated head; this PR additionally retains its previously verified deterministic attachment-URL fixture.
  • PHP syntax checks and git diff --check passed.

Trac: https://core.trac.wordpress.org/ticket/65893

@github-actions

Copy link
Copy Markdown

Test using WordPress Playground

The changes in this pull request can previewed and tested using a WordPress Playground instance.

WordPress Playground is an experimental project that creates a full WordPress instance entirely within the browser.

Some things to be aware of

  • All changes will be lost when closing a tab with a Playground instance.
  • All changes will be lost when refreshing the page.
  • A fresh instance is created each time the link below is clicked.
  • Every time this pull request is updated, a new ZIP file containing all changes is created. If changes are not reflected in the Playground instance,
    it's possible that the most recent build failed, or has not completed. Check the list of workflow runs to be sure.

For more details about these limitations and more, check out the Limitations page in the WordPress Playground documentation.

Test this pull request with WordPress Playground.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant