Pull merge.
[yaffs-website] / web / core / tests / TestSuites / TestSuiteBase.php
index 581ea36714e0269e30b8a4a466a24af4cf733988..41ed61622b779da4006ec3cf758522519688a1ca 100644 (file)
@@ -1,12 +1,14 @@
 <?php
 
 namespace Drupal\Tests\TestSuites;
+
 use Drupal\simpletest\TestDiscovery;
+use PHPUnit\Framework\TestSuite;
 
 /**
  * Base class for Drupal test suites.
  */
-abstract class TestSuiteBase extends \PHPUnit_Framework_TestSuite {
+abstract class TestSuiteBase extends TestSuite {
 
   /**
    * Finds extensions in a Drupal installation.
@@ -39,7 +41,13 @@ abstract class TestSuiteBase extends \PHPUnit_Framework_TestSuite {
     // always inside of core/tests/Drupal/${suite_namespace}Tests. The exception
     // to this is Unit tests for historical reasons.
     if ($suite_namespace == 'Unit') {
-      $this->addTestFiles(TestDiscovery::scanDirectory("Drupal\\Tests\\", "$root/core/tests/Drupal/Tests"));
+      $tests = TestDiscovery::scanDirectory("Drupal\\Tests\\", "$root/core/tests/Drupal/Tests");
+      $tests = array_flip(array_filter(array_flip($tests), function ($test_class) {
+        // The Listeners directory does not contain tests. Use the class name
+        // to be compatible with all operating systems.
+        return !preg_match('/^Drupal\\\\Tests\\\\Listeners\\\\/', $test_class);
+      }));
+      $this->addTestFiles($tests);
     }
     else {
       $this->addTestFiles(TestDiscovery::scanDirectory("Drupal\\${suite_namespace}Tests\\", "$root/core/tests/Drupal/${suite_namespace}Tests"));