test: helper to skip tests depending on a PHP ext

Some of our tests expect a specific PHP extension to be loaded to get
anything done, for example zlib or gd.  This patch creates a new helping
method that people can use to easily skip a test whenever a PHP
extension is not around: MediaWikiTestCase::checkPHPExtension()

Example usage:

 function testCompressFiles() {
   $this->checkPHPExtension( 'zlib' );
   ...
 }

Change-Id: Ia87317ca379b2d5d1d1fa4231f76033ee66086c2
This commit is contained in:
Antoine Musso 2013-01-28 10:27:31 +01:00 committed by Gerrit Code Review
parent cbf79c54bf
commit a7901801b4

View file

@ -862,6 +862,20 @@ abstract class MediaWikiTestCase extends PHPUnit_Framework_TestCase {
}
}
/**
* Check if $extName is a loaded PHP extension, will skip the
* test whenever it is not loaded.
*
* @since 1.21
*/
protected function checkPHPExtension( $extName ) {
$loaded = extension_loaded( $extName );
if( ! $loaded ) {
$this->markTestSkipped( "PHP extension '$extName' is not loaded, skipping." );
}
return $loaded;
}
/**
* Asserts that an exception of the specified type occurs when running
* the provided code.