Skip to content

Tests: Restore Ajax hooks for each test - #13191

Closed
sirreal wants to merge 2 commits into
WordPress:trunkfrom
sirreal:agent/test-order-ajax-isolation
Closed

Tests: Restore Ajax hooks for each test#13191
sirreal wants to merge 2 commits into
WordPress:trunkfrom
sirreal:agent/test-order-ajax-isolation

Conversation

@sirreal

@sirreal sirreal commented Aug 20, 2026

Copy link
Copy Markdown
Member

Summary

  • Restores the Ajax callback baseline during every test setup so a preceding test cannot permanently remove callbacks required by another case.
  • Keeps the changes confined to PHPUnit tests and fixtures.

Verification

  • 100 consecutive fresh randomized Ajax-group runs passed on the final combined campaign head; each completed 190 tests and 1,212 assertions with one expected skip.
  • Exact seeds 1789050001 through 1789050100 all completed within the 30-second hard bound.
  • The final gate also covered the non-querying locale restoration carried by the l10n PR; the Ajax callback change itself had already passed the original 50-run isolated gate.
  • Replayed the original failing seed and focused contaminator/consumer cases during diagnosis.
  • PHP syntax checks passed for every changed PHP file.
  • git diff --check passed.

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

@lancewillett

Copy link
Copy Markdown
Member

Refreshed with current trunk in a non-rewriting merge: ee9071a.

Validation passed: git diff --check; vendor/bin/phpcs --standard=phpcs.xml.dist for the changed Ajax fixture; and a focused randomized Ajax replay (seed 13191): 15 tests, 31 assertions.

The prior one-off CI timeout had no assertion failure. Fresh CI has started and will provide matrix coverage; local validation was targeted.

@github-actions

github-actions Bot commented Sep 3, 2026

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.

@lancewillett
lancewillett marked this pull request as ready for review September 7, 2026 21:51
@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

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 props-bot label.

Core Committers: Use this line as a base for the props when committing in SVN:

Props jonsurrell, lancewillett.

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

wporg-sync pushed a commit that referenced this pull request Sep 10, 2026
Register core Ajax callbacks during each test setup so restoring the shared hook snapshot cannot leave later tests without their required callbacks. Remove the automatic update checks from admin_init during each setup as well.

Developed in: #13191

Props jonsurrell.
See #65893.


git-svn-id: https://develop.svn.wordpress.org/trunk@63593 602fd350-edb4-49c9-b593-d223f7449a82
@lancewillett

Copy link
Copy Markdown
Member

wporg-sync pushed a commit to WordPress/WordPress that referenced this pull request Sep 10, 2026
Register core Ajax callbacks during each test setup so restoring the shared hook snapshot cannot leave later tests without their required callbacks. Remove the automatic update checks from admin_init during each setup as well.

Developed in: WordPress/wordpress-develop#13191

Props jonsurrell.
See #65893.

Built from https://develop.svn.wordpress.org/trunk@63593


git-svn-id: http://core.svn.wordpress.org/trunk@62769 1a063a9b-81f0-0310-95a4-ce76da25c4cd
@lancewillett

Copy link
Copy Markdown
Member

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

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

2 participants