Remove this once phpunit 5 is the lowest supported version, by reverting: https://github.com/nextcloud/server/pull/2137 Signed-off-by: Joas Schilling <coding@schilljs.com>tags/v11.0RC2
@@ -117,6 +117,13 @@ class Autoloader { | |||
// This File is considered public API, so we make sure that the class | |||
// can still be loaded, although the PSR-4 paths have not been loaded. | |||
$paths[] = \OC::$SERVERROOT . '/tests/lib/TestCase.php'; | |||
} elseif ($class === 'Test\\TestCasePhpUnitCompatibility') { | |||
$paths[] = \OC::$SERVERROOT . '/tests/lib/TestCasePhpUnitCompatibility.php'; | |||
} elseif ($class === 'Test\\TestCasePhpUnit5') { | |||
$paths[] = \OC::$SERVERROOT . '/tests/lib/TestCasePhpUnit5.php'; | |||
} elseif ($class === 'Test\\TestCasePhpUnit4') { | |||
$paths[] = \OC::$SERVERROOT . '/tests/lib/TestCasePhpUnit4.php'; | |||
} | |||
return $paths; | |||
} |
@@ -24,7 +24,6 @@ namespace Test; | |||
use DOMDocument; | |||
use DOMNode; | |||
use OC\Cache\CappedMemoryCache; | |||
use OC\Command\QueueBus; | |||
use OC\Files\Filesystem; | |||
use OC\Template\Base; | |||
@@ -34,7 +33,7 @@ use OCP\IDBConnection; | |||
use OCP\IL10N; | |||
use OCP\Security\ISecureRandom; | |||
abstract class TestCase extends \PHPUnit_Framework_TestCase { | |||
abstract class TestCase extends TestCasePhpUnitCompatibility { | |||
/** @var \OC\Command\QueueBus */ | |||
private $commandBus; | |||
@@ -153,7 +152,7 @@ abstract class TestCase extends \PHPUnit_Framework_TestCase { | |||
} | |||
} | |||
protected function onNotSuccessfulTest($e) { | |||
protected function realOnNotSuccessfulTest() { | |||
$this->restoreAllServices(); | |||
// restore database connection | |||
@@ -162,8 +161,6 @@ abstract class TestCase extends \PHPUnit_Framework_TestCase { | |||
return self::$realDatabase; | |||
}); | |||
} | |||
parent::onNotSuccessfulTest($e); | |||
} | |||
protected function tearDown() { |
@@ -0,0 +1,37 @@ | |||
<?php | |||
/** | |||
* @copyright Copyright (c) 2016 Joas Schilling <coding@schilljs.com> | |||
* | |||
* @license GNU AGPL version 3 or any later version | |||
* | |||
* This program is free software: you can redistribute it and/or modify | |||
* it under the terms of the GNU Affero General Public License as | |||
* published by the Free Software Foundation, either version 3 of the | |||
* License, or (at your option) any later version. | |||
* | |||
* This program is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
* GNU Affero General Public License for more details. | |||
* | |||
* You should have received a copy of the GNU Affero General Public License | |||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
* | |||
*/ | |||
namespace Test; | |||
/** | |||
* FIXME Remove this once phpunit 5 is the lowest supported version, by reverting: | |||
* https://github.com/nextcloud/server/pull/2137 | |||
*/ | |||
abstract class TestCasePhpUnit4 extends \PHPUnit_Framework_TestCase { | |||
abstract protected function realOnNotSuccessfulTest(); | |||
protected function onNotSuccessfulTest(\Exception $e) { | |||
$this->realOnNotSuccessfulTest(); | |||
parent::onNotSuccessfulTest($e); | |||
} | |||
} |
@@ -0,0 +1,37 @@ | |||
<?php | |||
/** | |||
* @copyright Copyright (c) 2016 Joas Schilling <coding@schilljs.com> | |||
* | |||
* @license GNU AGPL version 3 or any later version | |||
* | |||
* This program is free software: you can redistribute it and/or modify | |||
* it under the terms of the GNU Affero General Public License as | |||
* published by the Free Software Foundation, either version 3 of the | |||
* License, or (at your option) any later version. | |||
* | |||
* This program is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
* GNU Affero General Public License for more details. | |||
* | |||
* You should have received a copy of the GNU Affero General Public License | |||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
* | |||
*/ | |||
namespace Test; | |||
/** | |||
* FIXME Remove this once phpunit 5 is the lowest supported version, by reverting: | |||
* https://github.com/nextcloud/server/pull/2137 | |||
*/ | |||
abstract class TestCasePhpUnit5 extends \PHPUnit_Framework_TestCase { | |||
abstract protected function realOnNotSuccessfulTest(); | |||
protected function onNotSuccessfulTest($e) { | |||
$this->realOnNotSuccessfulTest(); | |||
parent::onNotSuccessfulTest($e); | |||
} | |||
} |
@@ -0,0 +1,32 @@ | |||
<?php | |||
/** | |||
* @copyright Copyright (c) 2016 Joas Schilling <coding@schilljs.com> | |||
* | |||
* @license GNU AGPL version 3 or any later version | |||
* | |||
* This program is free software: you can redistribute it and/or modify | |||
* it under the terms of the GNU Affero General Public License as | |||
* published by the Free Software Foundation, either version 3 of the | |||
* License, or (at your option) any later version. | |||
* | |||
* This program is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
* GNU Affero General Public License for more details. | |||
* | |||
* You should have received a copy of the GNU Affero General Public License | |||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
* | |||
*/ | |||
namespace Test; | |||
/** | |||
* FIXME Remove this once phpunit 5 is the lowest supported version, by reverting: | |||
* https://github.com/nextcloud/server/pull/2137 | |||
*/ | |||
if (version_compare(\PHPUnit_Runner_Version::id(), '5.0.0', '>=')) { | |||
abstract class TestCasePhpUnitCompatibility extends TestCasePhpUnit5 {} | |||
} else { | |||
abstract class TestCasePhpUnitCompatibility extends TestCasePhpUnit4 {} | |||
} |