diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2015-12-18 09:17:53 +0100 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2015-12-18 09:17:53 +0100 |
commit | 1456e910adc072cc27c06623394d334dd33ad0f6 (patch) | |
tree | a500e9b345943d771f149443d1e3277faf5e4371 | |
parent | 2622116b57b7b3ba347d2e819e4f0535577e4914 (diff) | |
parent | b3c8e9ca3218fd8853e8302db8d66be953b7f0f3 (diff) | |
download | nextcloud-server-1456e910adc072cc27c06623394d334dd33ad0f6.tar.gz nextcloud-server-1456e910adc072cc27c06623394d334dd33ad0f6.zip |
Merge pull request #21269 from owncloud/we-shall-cleanup-xml-parser-errors
Assert that there are no xml error left
-rw-r--r-- | lib/private/app/infoparser.php | 1 | ||||
-rw-r--r-- | lib/private/ocsclient.php | 1 | ||||
-rw-r--r-- | lib/private/updater.php | 2 | ||||
-rw-r--r-- | tests/lib/app/dependencyanalyzer.php | 3 | ||||
-rw-r--r-- | tests/lib/app/infoparser.php | 3 | ||||
-rw-r--r-- | tests/lib/app/manager.php | 3 | ||||
-rw-r--r-- | tests/lib/testcase.php | 16 |
7 files changed, 22 insertions, 7 deletions
diff --git a/lib/private/app/infoparser.php b/lib/private/app/infoparser.php index 22f705884bc..a84163612e8 100644 --- a/lib/private/app/infoparser.php +++ b/lib/private/app/infoparser.php @@ -59,6 +59,7 @@ class InfoParser { $xml = simplexml_load_file($file); libxml_disable_entity_loader($loadEntities); if ($xml == false) { + libxml_clear_errors(); return null; } $array = $this->xmlToArray($xml); diff --git a/lib/private/ocsclient.php b/lib/private/ocsclient.php index e2973f82605..81c9abee058 100644 --- a/lib/private/ocsclient.php +++ b/lib/private/ocsclient.php @@ -97,6 +97,7 @@ class OCSClient { libxml_disable_entity_loader($loadEntities); if($data === false) { + libxml_clear_errors(); $this->logger->error( sprintf('Could not get %s, content was no valid XML', $action), [ diff --git a/lib/private/updater.php b/lib/private/updater.php index 366ad2555a8..d5598d339d3 100644 --- a/lib/private/updater.php +++ b/lib/private/updater.php @@ -177,6 +177,8 @@ class Updater extends BasicEmitter { $tmp['versionstring'] = (string)$data->versionstring; $tmp['url'] = (string)$data->url; $tmp['web'] = (string)$data->web; + } else { + libxml_clear_errors(); } } else { $data = []; diff --git a/tests/lib/app/dependencyanalyzer.php b/tests/lib/app/dependencyanalyzer.php index 58f1c0a7a99..fecba518856 100644 --- a/tests/lib/app/dependencyanalyzer.php +++ b/tests/lib/app/dependencyanalyzer.php @@ -12,8 +12,9 @@ namespace Test\App; use OC; use OC\App\Platform; use OCP\IL10N; +use Test\TestCase; -class DependencyAnalyzer extends \PHPUnit_Framework_TestCase { +class DependencyAnalyzer extends TestCase { /** @var Platform */ private $platformMock; diff --git a/tests/lib/app/infoparser.php b/tests/lib/app/infoparser.php index fb4ffe8af94..1e5257abec3 100644 --- a/tests/lib/app/infoparser.php +++ b/tests/lib/app/infoparser.php @@ -10,8 +10,9 @@ namespace Test\App; use OC; +use Test\TestCase; -class InfoParser extends \PHPUnit_Framework_TestCase { +class InfoParser extends TestCase { /** * @var \OC\App\InfoParser diff --git a/tests/lib/app/manager.php b/tests/lib/app/manager.php index 38358fd61cf..a3e55c6b890 100644 --- a/tests/lib/app/manager.php +++ b/tests/lib/app/manager.php @@ -11,8 +11,9 @@ namespace Test\App; use OC\Group\Group; use OC\User\User; +use Test\TestCase; -class Manager extends \PHPUnit_Framework_TestCase { +class Manager extends TestCase { /** * @return \OCP\IAppConfig | \PHPUnit_Framework_MockObject_MockObject */ diff --git a/tests/lib/testcase.php b/tests/lib/testcase.php index 5d88fa08a6d..1ee0c85b98a 100644 --- a/tests/lib/testcase.php +++ b/tests/lib/testcase.php @@ -92,6 +92,12 @@ abstract class TestCase extends \PHPUnit_Framework_TestCase { throw $hookExceptions[0]; } + // fail hard if xml errors have not been cleaned up + $errors = libxml_get_errors(); + libxml_clear_errors(); + $this->assertEquals([], $errors); + + // tearDown the traits $traits = $this->getTestTraits(); foreach ($traits as $trait) { $methodName = 'tearDown' . basename(str_replace('\\', '/', $trait)); @@ -150,11 +156,13 @@ abstract class TestCase extends \PHPUnit_Framework_TestCase { public static function tearDownAfterClass() { $dataDir = \OC::$server->getConfig()->getSystemValue('datadirectory', \OC::$SERVERROOT . '/data-autotest'); - $queryBuilder = \OC::$server->getDatabaseConnection()->getQueryBuilder(); + if (\OC::$server->getDatabaseConnection()) { + $queryBuilder = \OC::$server->getDatabaseConnection()->getQueryBuilder(); - self::tearDownAfterClassCleanShares($queryBuilder); - self::tearDownAfterClassCleanStorages($queryBuilder); - self::tearDownAfterClassCleanFileCache($queryBuilder); + self::tearDownAfterClassCleanShares($queryBuilder); + self::tearDownAfterClassCleanStorages($queryBuilder); + self::tearDownAfterClassCleanFileCache($queryBuilder); + } self::tearDownAfterClassCleanStrayDataFiles($dataDir); self::tearDownAfterClassCleanStrayHooks(); self::tearDownAfterClassCleanStrayLocks(); |