MDL-36199 reset plugin manager singletons

This commit is contained in:
Petr Škoda
2012-10-25 00:55:10 +08:00
parent 7e8ae12a7a
commit 9854743221
2 changed files with 28 additions and 0 deletions
+8
View File
@@ -648,6 +648,14 @@ class phpunit_util {
}
get_fast_modinfo(0, 0, true);
// Reset other singletons.
if (class_exists('plugin_manager')) {
plugin_manager::reset_caches(true);
}
if (class_exists('available_update_checker')) {
available_update_checker::reset_caches(true);
}
// purge dataroot directory
self::reset_dataroot();
+20
View File
@@ -86,6 +86,16 @@ class plugin_manager {
return self::$singletoninstance;
}
/**
* Reset any caches
* @param bool $phpunitreset
*/
public static function reset_caches($phpunitreset = false) {
if ($phpunitreset) {
self::$singletoninstance = null;
}
}
/**
* Returns a tree of known plugins and information about them
*
@@ -672,6 +682,16 @@ class available_update_checker {
return self::$singletoninstance;
}
/**
* Reset any caches
* @param bool $phpunitreset
*/
public static function reset_caches($phpunitreset = false) {
if ($phpunitreset) {
self::$singletoninstance = null;
}
}
/**
* Returns the timestamp of the last execution of {@link fetch()}
*