X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=tests%2Fphpunit%2Fsuites%2FExtensionsTestSuite.php;h=02934fa7bdbef8276796e7c27bae00dad67a9bf2;hb=e8b7742f0486984af2c9928f663e896392a1af97;hp=0e23fdde823b7b750c58e0fd51f97a2382160f01;hpb=42324aff4e173b70aeed4f520ff0f5b96557d24e;p=lhc%2Fweb%2Fwiklou.git diff --git a/tests/phpunit/suites/ExtensionsTestSuite.php b/tests/phpunit/suites/ExtensionsTestSuite.php index 0e23fdde82..02934fa7bd 100644 --- a/tests/phpunit/suites/ExtensionsTestSuite.php +++ b/tests/phpunit/suites/ExtensionsTestSuite.php @@ -8,10 +8,16 @@ class ExtensionsTestSuite extends PHPUnit_Framework_TestSuite { public function __construct() { parent::__construct(); + $paths = []; + // Autodiscover extension unit tests + $registry = ExtensionRegistry::getInstance(); + foreach ( $registry->getAllThings() as $info ) { + $paths[] = dirname( $info['path'] ) . '/tests/phpunit'; + } // Extensions can return a list of files or directories Hooks::run( 'UnitTestsList', [ &$paths ] ); - foreach ( $paths as $path ) { + foreach ( array_unique( $paths ) as $path ) { if ( is_dir( $path ) ) { // If the path is a directory, search for test cases. // @since 1.24 @@ -19,7 +25,7 @@ class ExtensionsTestSuite extends PHPUnit_Framework_TestSuite { $fileIterator = new File_Iterator_Facade(); $matchingFiles = $fileIterator->getFilesAsArray( $path, $suffixes ); $this->addTestFiles( $matchingFiles ); - } else { + } elseif ( file_exists( $path ) ) { // Add a single test case or suite class $this->addTestFile( $path ); }