wordpress-develop/tests/phpunit/tests
Felix Arntz 6ff5bf856a Site Health: Introduce page cache check.
This changeset adds a new `page_cache` check which determines whether the site uses a full page cache, and in addition assesses the server response time. If no page cache is present and the server response time is slow, the check will suggest use of a page cache.

A few filters are included for customization of the check:
* `site_status_good_response_time_threshold` filters the number of milliseconds below which the server response time is considered good. The default value is based on the `server-response-time` Lighthouse audit and can be altered using this filter.
* `site_status_page_cache_supported_cache_headers` filters the map of supported cache headers and their callback to determine whether it was a cache hit. The default list includes commonly used cache headers, and it is filterable to support e.g. additional cache headers used by specific vendors.

Note that due to the nature of this check it is only run in production environments.

Props furi3r, westonruter, spacedmonkey, swissspidy, Clorith.
Fixes #56041.


git-svn-id: https://develop.svn.wordpress.org/trunk@54043 602fd350-edb4-49c9-b593-d223f7449a82
2022-08-31 22:44:04 +00:00
..
admin Code Modernization: Explicitly declare all properties in various tests. 2022-08-25 15:34:24 +00:00
ajax Taxonomy: Allow filtering Ajax term search results in quick edit. 2022-07-26 13:21:55 +00:00
attachment Build/Test Tools: Add and fix @covers tags to the attachments and block-supports test groups. 2022-07-07 21:06:03 +00:00
block-supports Code Modernization: Remove dynamic properties in theme tests. 2022-08-21 16:55:18 +00:00
blocks Editor: Ensure get_block_templates() returns unique templates or template parts. 2022-08-23 14:50:56 +00:00
bookmark General: Fix 'rel' argument in Tests_Functions_wpListBookmarks test datasets. 2021-12-21 00:10:26 +00:00
canonical Code Modernization: Explicitly declare all properties created in set_up() methods of various test classes. 2022-08-27 12:30:08 +00:00
category Build/Test Tools: Add @covers tags to the taxonomy and category test groups. 2022-07-07 23:00:07 +00:00
comment Code Modernization: Explicitly declare all properties in various tests. 2022-08-25 15:34:24 +00:00
compat General: Introduce polyfills for str_ends_with() and str_starts_with() added in PHP 8.0. 2021-11-08 14:21:44 +00:00
cron Cron API: Modify _get_cron_array() to always return an array. 2022-07-29 03:32:58 +00:00
customize Code Modernization: Explicitly declare all properties created in set_up() methods of various test classes. 2022-08-27 12:30:08 +00:00
date Date/Time: Increase test coverage of wp_date(). 2022-08-01 22:48:42 +00:00
db Tests: Correct MariaDB version check in database charset tests. 2022-08-22 16:40:54 +00:00
dependencies Script Loader: Fix i18n edge case breaking dependencies. 2022-05-07 02:51:54 +00:00
editor Tests: Rename classes in phpunit/tests/editor/ per the naming conventions. 2021-08-20 16:11:04 +00:00
error-protection Tests: Rename classes in phpunit/tests/error-protection/ per the naming conventions. 2021-08-21 15:32:53 +00:00
external-http General: Bump the recommended MariaDB version in readme.html. 2022-05-23 14:20:47 +00:00
feed Code Modernization: Explicitly declare all properties created in set_up() methods of various test classes. 2022-08-27 12:30:08 +00:00
filesystem Coding Standards: Add visibility to methods in tests/phpunit/tests/. 2021-11-04 15:22:47 +00:00
formatting Formatting: Normalize to Unicode NFC encoding before converting accent characters in remove_accents(). 2022-07-21 21:09:56 +00:00
functions Tests: Bring some consistency to serialization tests. 2022-08-13 12:09:41 +00:00
general Script Loader: Remove default DNS prefetch entry for s.w.org. 2022-08-18 08:43:19 +00:00
hooks Code Modernization: Explicitly declare all properties in various tests. 2022-08-25 15:34:24 +00:00
http Tests: Use a consistent URL in HTTP response cookie tests. 2022-06-12 15:16:09 +00:00
image Media: enable generating multiple mime types for image uploads; specifically WebP versions for JPEG images by default. 2022-07-21 18:01:01 +00:00
import Build/Test Tools: Add @covers tags to the import tests. 2022-08-08 23:22:43 +00:00
includes Code Modernization: Explicitly declare all properties created in set_up() methods of various test classes. 2022-08-27 12:30:08 +00:00
l10n I18N: Introduce WP_Textdomain_Registry to store text domains and their language directory paths. 2022-08-11 12:37:05 +00:00
link Tests: Combine test classes for get_edit_term_link() tests. 2022-08-04 18:28:33 +00:00
load Login and Registration: Introduce is_login_screen() function. 2022-08-11 21:49:08 +00:00
media Code Modernization: Remove dynamic properties in Tests_Media_GetPostGalleries. 2022-08-07 14:32:55 +00:00
menu Code Modernization: Explicitly declare all properties created in set_up() methods of various test classes. 2022-08-27 12:30:08 +00:00
meta Code Modernization: Remove dynamic properties in Tests_*_Slashes. 2022-06-23 14:24:08 +00:00
multisite Networks and Sites: Improve cache key generation in WP_Network_Query class. 2022-04-07 17:57:59 +00:00
oembed Administration: Replace contracted verb forms for better consistency. 2022-03-22 16:23:32 +00:00
option Build/Test Tools: Add @covers tags to the options tests. 2022-08-08 23:33:11 +00:00
pluggable Tests: Correct an assertion in wp_rand() tests. 2022-06-08 13:17:27 +00:00
pomo Code Modernization: Explicitly declare all properties created in set_up() methods of various test classes. 2022-08-27 12:30:08 +00:00
post Code Modernization: Explicitly declare all properties in various tests. 2022-08-25 15:34:24 +00:00
privacy Code Modernization: Explicitly declare all properties created in set_up() methods of various test classes. 2022-08-27 12:30:08 +00:00
query Query: Cache post ID database query within WP_Query. 2022-08-25 04:21:40 +00:00
rest-api Site Health: Introduce page cache check. 2022-08-31 22:44:04 +00:00
rewrite Code Modernization: Explicitly declare all properties created in set_up() methods of various test classes. 2022-08-27 12:30:08 +00:00
sitemaps Sitemaps: Prevent invalid provider names throwing errors. 2022-08-05 05:47:56 +00:00
taxonomy Build/Test Tools: Implement use of the void solution. 2021-08-07 10:29:41 +00:00
term Code Modernization: Explicitly declare all properties in various tests. 2022-08-25 15:34:24 +00:00
theme Tests: Increase coverage for translations applied to theme.json 2022-08-31 10:11:30 +00:00
url Tests: Remove @uses tags from the test suite. 2022-07-08 00:11:15 +00:00
user Code Modernization: Explicitly declare all properties created in set_up() methods of various test classes. 2022-08-27 12:30:08 +00:00
webfonts Tests: Ignore EOL differences in Webfonts API tests. 2022-04-30 11:33:30 +00:00
widgets HTTP API: Revert changeset [52244]. 2021-12-06 21:29:00 +00:00
wp Docs: Add a @since note for WP::parse_request() about the new return value. 2022-03-02 15:38:27 +00:00
xmlrpc Build/Test Tools: Reduce the use of unnecessary randomness in tests. 2021-12-19 13:42:37 +00:00
actions.php Code Modernization: Explicitly declare all properties in various tests. 2022-08-25 15:34:24 +00:00
adminbar.php Coding Standards: Add visibility to methods in tests/phpunit/tests/. 2021-11-04 15:22:47 +00:00
auth.php Users: Prevent infinite loop when using capability checks during determine_current_user on multisite. 2021-11-15 01:08:35 +00:00
avatar.php Media: Add decoding="async" to image attributes. 2022-06-09 05:29:57 +00:00
basic.php Tests: Separate the tests in basic.php for clarity. 2022-07-07 23:55:13 +00:00
block-template-utils.php Tests: Require the zip PHP extension in block templates export file test. 2022-06-01 14:16:39 +00:00
block-template.php Site Editor: Resolve homepage template on server-side 2022-04-07 13:33:03 +00:00
cache.php Tests: Use named data provider for WP_Object_Cache::is_valid_key() test. 2022-08-04 17:47:41 +00:00
canonical.php Canonical: Include all public status in 404 redirects. 2022-04-01 03:23:07 +00:00
category.php Build/Test Tools: Add @covers tags to the taxonomy and category test groups. 2022-07-07 23:00:07 +00:00
comment-submission.php Build/Test Tools: Add @covers tags to the comments tests. 2022-08-08 23:12:30 +00:00
comment.php Build/Test Tools: Add @covers tags to the comments tests. 2022-08-08 23:12:30 +00:00
cron.php Cron API: Modify _get_cron_array() to always return an array. 2022-07-29 03:32:58 +00:00
db.php Database: Ensure MySQL port numbers are numeric in wpdb. 2022-07-06 05:31:47 +00:00
dbdelta.php Database: Ignore display width for integer data types in dbDelta() on MySQL 8.0.17 or later. 2022-08-15 13:16:22 +00:00
dependencies.php Script Loader: Allow for wp_register_script() to be called after wp_enqueue_script(). 2021-12-07 17:44:46 +00:00
file.php Code Modernization: Remove dynamic properties in Tests_File. 2022-08-07 14:48:42 +00:00
filters.php Tests: Update the terminology used for action or filter names in MockAction class. 2022-07-31 16:25:27 +00:00
functions.php Media: Account for Windows when normalizing file paths. 2022-08-23 19:57:17 +00:00
https-detection.php Coding Standards: Use static closures when not using $this. 2021-08-26 12:57:08 +00:00
https-migration.php Coding Standards: Use static closures when not using $this. 2021-08-26 12:57:08 +00:00
kses.php Docs: Remove @return void from various DocBlocks. 2022-05-02 13:11:07 +00:00
l10n.php Build/Test Tools: Add @covers tags to the l10n and i18n tests. 2022-08-08 23:39:06 +00:00
link.php Coding Standards: Add visibility to methods in tests/phpunit/tests/. 2021-11-04 15:22:47 +00:00
locale.php Build/Test Tools: Add @covers tags to the l10n and i18n tests. 2022-08-08 23:39:06 +00:00
mail.php Mail: Prevent the last character of names in “From” headers from being trimmed. 2022-08-16 18:16:43 +00:00
media.php Tests: Clean up test image before performing assertions in image tests. 2022-08-22 19:50:15 +00:00
meta.php Code Modernization: Explicitly declare all properties created in set_up() methods of various test classes. 2022-08-27 12:30:08 +00:00
multisite.php Coding Standards: Add visibility to methods in tests/phpunit/tests/. 2021-11-04 15:22:47 +00:00
pluggable.php Cache API: Make the placement of wp_cache_flush_group() more consistent. 2022-07-23 14:56:51 +00:00
post.php Code Modernization: Explicitly declare all properties created in set_up() methods of various test classes. 2022-08-27 12:30:08 +00:00
query.php Tests: Improve the test for not throwing a warning on malformed date queries. 2022-08-08 14:38:08 +00:00
rest-api.php REST API: Respect _fields query arg in preloaded requests 2022-04-19 14:38:16 +00:00
rewrite.php Code Modernization: Explicitly declare all properties in various tests. 2022-08-25 15:34:24 +00:00
robots.php Coding Standards: Use static closures when not using $this. 2021-08-26 12:57:08 +00:00
shortcode.php Code Modernization: Explicitly declare all properties created in set_up() methods of various test classes. 2022-08-27 12:30:08 +00:00
site-health.php Site Health: Introduce page cache check. 2022-08-31 22:44:04 +00:00
taxonomy.php Taxonomy: Prevent non string taxonomy names generating warnings or errors. 2022-08-09 10:21:32 +00:00
template.php Build/Test Tools: Implement use of the void solution. 2021-08-07 10:29:41 +00:00
term.php Tests: Include special characters in term names for wp_set_term_objects(). 2022-03-16 03:04:40 +00:00
theme.php Tests: Correctly back up and restore theme directories in Tests_Theme. 2022-08-31 16:02:05 +00:00
upload.php Coding Standards: Add visibility to methods in tests/phpunit/tests/. 2021-11-04 15:22:47 +00:00
url.php Tests: Remove @uses tags from the test suite. 2022-07-08 00:11:15 +00:00
user.php Cache API: Validate cache key in WP_Object_Cache methods. 2022-08-03 14:34:58 +00:00
utils.php Tests: Separate the tests in basic.php for clarity. 2022-07-07 23:55:13 +00:00
walker.php Code Modernization: Explicitly declare all properties created in set_up() methods of various test classes. 2022-08-27 12:30:08 +00:00
widgets.php Tests: Use a simpler approach to test the output in some tests. 2021-11-27 16:16:15 +00:00
wp.php Build/Test Tools: Implement use of the void solution. 2021-08-07 10:29:41 +00:00