// TODO: move global state into MediaWikiServices
RequestContext::resetMain();
- MediaHandler::resetCache();
if ( session_id() !== '' ) {
session_write_close();
session_id( '' );
// TODO: move global state into MediaWikiServices
RequestContext::resetMain();
- MediaHandler::resetCache();
if ( session_id() !== '' ) {
session_write_close();
session_id( '' );
}
}
- /**
- * Check whether we have the 'gzip' commandline utility, will skip
- * the test whenever "gzip -V" fails.
- *
- * Result is cached at the process level.
- *
- * @return bool
- *
- * @since 1.21
- */
- protected function checkHasGzip() {
- static $haveGzip;
-
- if ( $haveGzip === null ) {
- $retval = null;
- wfShellExec( 'gzip -V', $retval );
- $haveGzip = ( $retval === 0 );
- }
-
- if ( !$haveGzip ) {
- $this->markTestSkipped( "Skip test, requires the gzip utility in PATH" );
- }
-
- return $haveGzip;
- }
-
/**
* Check if $extName is a loaded PHP extension, will skip the
* test whenever it is not loaded.
return $buffer;
}
+ /**
+ * Create a temporary hook handler which will be reset by tearDown.
+ * This replaces other handlers for the same hook.
+ * @param string $hookName Hook name
+ * @param mixed $handler Value suitable for a hook handler
+ * @since 1.28
+ */
+ protected function setTemporaryHook( $hookName, $handler ) {
+ $this->mergeMwGlobalArrayValue( 'wgHooks', [ $hookName => [ $handler ] ] );
+ }
+
}