aboutsummaryrefslogtreecommitdiffstats
path: root/tests/bootstrap.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/bootstrap.php')
-rw-r--r--tests/bootstrap.php36
1 files changed, 30 insertions, 6 deletions
diff --git a/tests/bootstrap.php b/tests/bootstrap.php
index 86bedc3f325..1fb54344d49 100644
--- a/tests/bootstrap.php
+++ b/tests/bootstrap.php
@@ -1,4 +1,16 @@
<?php
+
+declare(strict_types=1);
+
+/**
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+ * SPDX-License-Identifier: AGPL-3.0-only
+ */
+
+use OCP\App\IAppManager;
+use OCP\Server;
+
define('PHPUNIT_RUN', 1);
$configDir = getenv('CONFIG_DIR');
@@ -7,14 +19,26 @@ if ($configDir) {
}
require_once __DIR__ . '/../lib/base.php';
+require_once __DIR__ . '/autoload.php';
-\OC::$loader->addValidRoot(OC::$SERVERROOT . '/tests');
-
-// load all enabled apps
-\OC_App::loadApps();
+\OC::$composerAutoloader->addPsr4('Tests\\', OC::$SERVERROOT . '/tests/', true);
-if (!class_exists('PHPUnit_Framework_TestCase')) {
- require_once('PHPUnit/Autoload.php');
+$dontLoadApps = getenv('TEST_DONT_LOAD_APPS');
+if (!$dontLoadApps) {
+ // load all apps
+ $appManager = Server::get(IAppManager::class);
+ foreach (new \DirectoryIterator(__DIR__ . '/../apps/') as $file) {
+ if ($file->isDot()) {
+ continue;
+ }
+ $appManager->loadApp($file->getFilename());
+ }
}
OC_Hook::clear();
+
+set_include_path(
+ get_include_path() . PATH_SEPARATOR
+ . '/usr/share/php' . PATH_SEPARATOR
+ . __DIR__ . '/..'
+);