diff --git a/.github/workflows/phpunit-32bits.yml b/.github/workflows/phpunit-32bits.yml index f505446c447..9f3143e4b3c 100644 --- a/.github/workflows/phpunit-32bits.yml +++ b/.github/workflows/phpunit-32bits.yml @@ -64,7 +64,6 @@ jobs: mkdir data ./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=autotest --database-pass=rootpassword --admin-user admin --admin-pass admin php -f tests/enable_all.php - sleep 7200 - name: PHPUnit run: composer run test -- --exclude-group PRIMARY-azure,PRIMARY-s3,PRIMARY-swift,Memcached,Redis,RoutingWeirdness diff --git a/lib/private/Files/AppData/AppData.php b/lib/private/Files/AppData/AppData.php index c13372ae1d9..e2a406e9f31 100644 --- a/lib/private/Files/AppData/AppData.php +++ b/lib/private/Files/AppData/AppData.php @@ -151,4 +151,9 @@ class AppData implements IAppData { public function getId(): int { return $this->getAppDataFolder()->getId(); } + + public function clearFilesystemCache(): void { + $this->folder = null; + $this->folders->clear(); + } } diff --git a/lib/private/Files/AppData/Factory.php b/lib/private/Files/AppData/Factory.php index 38b73f370b8..01d925790ed 100644 --- a/lib/private/Files/AppData/Factory.php +++ b/lib/private/Files/AppData/Factory.php @@ -32,4 +32,10 @@ class Factory implements IAppDataFactory { } return $this->folders[$appId]; } + + public function clearFilesystemCache(): void { + foreach ($this->folders as $folder) { + $folder->clearFilesystemCache(); + } + } } diff --git a/tests/lib/TestCase.php b/tests/lib/TestCase.php index 9c1615ab2b2..82bf5d2e6cf 100644 --- a/tests/lib/TestCase.php +++ b/tests/lib/TestCase.php @@ -11,6 +11,7 @@ namespace Test; use DOMDocument; use DOMNode; use OC\Command\QueueBus; +use OC\Files\AppData\Factory; use OC\Files\Cache\Storage; use OC\Files\Config\MountProviderCollection; use OC\Files\Filesystem; @@ -337,6 +338,10 @@ abstract class TestCase extends \PHPUnit\Framework\TestCase { self::tearDownAfterClassCleanStrayHooks(); self::tearDownAfterClassCleanStrayLocks(); + /** @var Factory $appDataFactory */ + $appDataFactory = Server::get(Factory::class); + $appDataFactory->clearFilesystemCache(); + /** @var SetupManager $setupManager */ $setupManager = Server::get(SetupManager::class); $setupManager->tearDown();