diff --git a/src/wp-includes/load.php b/src/wp-includes/load.php index 62ccc18f70..ac2a5f456b 100644 --- a/src/wp-includes/load.php +++ b/src/wp-includes/load.php @@ -731,7 +731,28 @@ function wp_start_object_cache() { } if ( function_exists( 'wp_cache_add_global_groups' ) ) { - wp_cache_add_global_groups( array( 'users', 'userlogins', 'usermeta', 'user_meta', 'useremail', 'userslugs', 'site-transient', 'site-options', 'blog-lookup', 'blog-details', 'site-details', 'rss', 'global-posts', 'blog-id-cache', 'networks', 'sites', 'blog_meta' ) ); + wp_cache_add_global_groups( + array( + 'users', + 'userlogins', + 'usermeta', + 'user_meta', + 'useremail', + 'userslugs', + 'site-transient', + 'site-options', + 'blog-lookup', + 'blog-details', + 'rss', + 'global-posts', + 'blog-id-cache', + 'networks', + 'sites', + 'site-details', + 'blog_meta', + ) + ); + wp_cache_add_non_persistent_groups( array( 'counts', 'plugins' ) ); } diff --git a/src/wp-includes/ms-blogs.php b/src/wp-includes/ms-blogs.php index 75e7f8770e..3d8b76a491 100644 --- a/src/wp-includes/ms-blogs.php +++ b/src/wp-includes/ms-blogs.php @@ -552,7 +552,27 @@ function switch_to_blog( $new_blog_id, $deprecated = null ) { if ( is_array( $global_groups ) ) { wp_cache_add_global_groups( $global_groups ); } else { - wp_cache_add_global_groups( array( 'users', 'userlogins', 'usermeta', 'user_meta', 'useremail', 'userslugs', 'site-transient', 'site-options', 'blog-lookup', 'blog-details', 'rss', 'global-posts', 'blog-id-cache', 'networks', 'sites', 'site-details', 'blog_meta' ) ); + wp_cache_add_global_groups( + array( + 'users', + 'userlogins', + 'usermeta', + 'user_meta', + 'useremail', + 'userslugs', + 'site-transient', + 'site-options', + 'blog-lookup', + 'blog-details', + 'rss', + 'global-posts', + 'blog-id-cache', + 'networks', + 'sites', + 'site-details', + 'blog_meta', + ) + ); } wp_cache_add_non_persistent_groups( array( 'counts', 'plugins' ) ); @@ -623,7 +643,27 @@ function restore_current_blog() { if ( is_array( $global_groups ) ) { wp_cache_add_global_groups( $global_groups ); } else { - wp_cache_add_global_groups( array( 'users', 'userlogins', 'usermeta', 'user_meta', 'useremail', 'userslugs', 'site-transient', 'site-options', 'blog-lookup', 'blog-details', 'rss', 'global-posts', 'blog-id-cache', 'networks', 'sites', 'site-details', 'blog_meta' ) ); + wp_cache_add_global_groups( + array( + 'users', + 'userlogins', + 'usermeta', + 'user_meta', + 'useremail', + 'userslugs', + 'site-transient', + 'site-options', + 'blog-lookup', + 'blog-details', + 'rss', + 'global-posts', + 'blog-id-cache', + 'networks', + 'sites', + 'site-details', + 'blog_meta', + ) + ); } wp_cache_add_non_persistent_groups( array( 'counts', 'plugins' ) ); diff --git a/tests/phpunit/includes/abstract-testcase.php b/tests/phpunit/includes/abstract-testcase.php index 9554be022a..edc1b0b2ad 100644 --- a/tests/phpunit/includes/abstract-testcase.php +++ b/tests/phpunit/includes/abstract-testcase.php @@ -366,15 +366,40 @@ abstract class WP_UnitTestCase_Base extends PHPUnit_Adapter_TestCase { */ public static function flush_cache() { global $wp_object_cache; + $wp_object_cache->group_ops = array(); $wp_object_cache->stats = array(); $wp_object_cache->memcache_debug = array(); $wp_object_cache->cache = array(); + if ( method_exists( $wp_object_cache, '__remoteset' ) ) { $wp_object_cache->__remoteset(); } + wp_cache_flush(); - wp_cache_add_global_groups( array( 'users', 'userlogins', 'usermeta', 'user_meta', 'useremail', 'userslugs', 'site-transient', 'site-options', 'blog-lookup', 'blog-details', 'rss', 'global-posts', 'blog-id-cache', 'networks', 'sites', 'site-details', 'blog_meta' ) ); + + wp_cache_add_global_groups( + array( + 'users', + 'userlogins', + 'usermeta', + 'user_meta', + 'useremail', + 'userslugs', + 'site-transient', + 'site-options', + 'blog-lookup', + 'blog-details', + 'rss', + 'global-posts', + 'blog-id-cache', + 'networks', + 'sites', + 'site-details', + 'blog_meta', + ) + ); + wp_cache_add_non_persistent_groups( array( 'comment', 'counts', 'plugins' ) ); } diff --git a/tests/phpunit/includes/object-cache.php b/tests/phpunit/includes/object-cache.php index 9faaf3b38f..2e35803e84 100644 --- a/tests/phpunit/includes/object-cache.php +++ b/tests/phpunit/includes/object-cache.php @@ -807,7 +807,16 @@ class WP_Object_Cache { * * @var array */ - public $global_groups = array( 'users', 'userlogins', 'usermeta', 'site-options', 'site-lookup', 'blog-lookup', 'blog-details', 'rss' ); + public $global_groups = array( + 'users', + 'userlogins', + 'usermeta', + 'site-options', + 'site-lookup', + 'blog-lookup', + 'blog-details', + 'rss', + ); /** * List of groups not saved to Memcached. diff --git a/tests/phpunit/tests/cache.php b/tests/phpunit/tests/cache.php index 5a46c01965..2c9bab0e95 100644 --- a/tests/phpunit/tests/cache.php +++ b/tests/phpunit/tests/cache.php @@ -20,9 +20,32 @@ class Tests_Cache extends WP_UnitTestCase { private function &init_cache() { global $wp_object_cache; + $cache_class = get_class( $wp_object_cache ); $cache = new $cache_class(); - $cache->add_global_groups( array( 'global-cache-test', 'users', 'userlogins', 'usermeta', 'user_meta', 'useremail', 'userslugs', 'site-transient', 'site-options', 'blog-lookup', 'blog-details', 'rss', 'global-posts', 'blog-id-cache', 'networks', 'sites', 'site-details' ) ); + + $cache->add_global_groups( + array( + 'global-cache-test', + 'users', + 'userlogins', + 'usermeta', + 'user_meta', + 'useremail', + 'userslugs', + 'site-transient', + 'site-options', + 'blog-lookup', + 'blog-details', + 'rss', + 'global-posts', + 'blog-id-cache', + 'networks', + 'sites', + 'site-details', + ) + ); + return $cache; }