3 * This test suite runs unit tests registered by extensions.
4 * See https://www.mediawiki.org/wiki/Manual:Hooks/UnitTestsList for details of
5 * how to register your tests.
8 class ExtensionsTestSuite
extends PHPUnit_Framework_TestSuite
{
9 public function __construct() {
10 parent
::__construct();
12 // Extensions can return a list of files or directories
13 Hooks
::run( 'UnitTestsList', [ &$paths ] );
14 foreach ( $paths as $path ) {
15 if ( is_dir( $path ) ) {
16 // If the path is a directory, search for test cases.
18 $suffixes = [ 'Test.php' ];
19 $fileIterator = new File_Iterator_Facade();
20 $matchingFiles = $fileIterator->getFilesAsArray( $path, $suffixes );
21 $this->addTestFiles( $matchingFiles );
23 // Add a single test case or suite class
24 $this->addTestFile( $path );
28 $this->addTest( new DummyExtensionsTest( 'testNothing' ) );
32 public static function suite() {
38 * Needed to avoid warnings like 'No tests found in class "ExtensionsTestSuite".'
39 * when no extensions with tests are used.
41 class DummyExtensionsTest
extends MediaWikiTestCase
{
42 public function testNothing() {
43 $this->assertTrue( true );