19use PHPUnit\Framework\TestSuite;
 
   20use PHPUnit\Framework\TestCase;
 
   22require_once __DIR__ . 
"/ilTestBaseTestCase.php";
 
   28        if (!defined(
"ILIAS_HTTP_PATH")) {
 
   29            define(
"ILIAS_HTTP_PATH", 
"http://localhost");
 
   32        if (!defined(
"DEBUG")) {
 
   33            define(
"DEBUG", 
false);
 
   36        if (!defined(
"ILIAS_LOG_ENABLED")) {
 
   37            define(
"ILIAS_LOG_ENABLED", 
false);
 
   40        if (!defined(
"ROOT_FOLDER_ID")) {
 
   41            define(
"ROOT_FOLDER_ID", 1);
 
   44        if (!defined(
"IL_INST_ID")) {
 
   45            define(
"IL_INST_ID", 0);
 
   47        if (!defined(
"CLIENT_DATA_DIR")) {
 
   48            define(
"CLIENT_DATA_DIR", 
"/tmp");
 
   51        if (!defined(
"CLIENT_ID")) {
 
   52            define(
"CLIENT_ID", 1);
 
   55        if (!defined(
'ANONYMOUS_USER_ID')) {
 
   56            define(
'ANONYMOUS_USER_ID', 13);
 
   59        chdir(dirname(__FILE__));
 
   65        foreach (
new RegExIterator(
 
   66            new RecursiveIteratorIterator(
 
   67                new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS),
 
   68                RecursiveIteratorIterator::LEAVES_ONLY
 
   73            require_once $file->getPathname();
 
   76        foreach (
new RegExIterator(
 
   77            new RecursiveIteratorIterator(
 
   78                new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS),
 
   79                RecursiveIteratorIterator::LEAVES_ONLY
 
   81            '/(?<!Base)Test\.php$/' 
   84            require_once $file->getPathname();
 
   86            $className = preg_replace(
'/(.*?)(\.php)/', 
'$1', $file->getBasename());
 
   87            if (!self::addClass($suite, $className)) {
 
   89                if (preg_match(
'/^namespace ([[:alnum:]_\\\\]+);$/m', file_get_contents($file->getPathname()), 
$results)) {
 
   98    private static function addClass(
self $suite, 
string $className): bool
 
  100        if (!class_exists($className)) {
 
  103        $reflection = 
new ReflectionClass($className);
 
  105            !$reflection->isAbstract() &&
 
  106            !$reflection->isInterface() &&
 
  107            $reflection->isSubclassOf(TestCase::class)) {
 
  108            $suite->addTestSuite($className);
 
static addClass(self $suite, string $className)