Browse Source
Make Testcase class compatible with phpunit-9.5
Signed-off-by: Joas Schilling <coding@schilljs.com>
pull/26353/head
Joas Schilling
5 years ago
No known key found for this signature in database
GPG Key ID: 7076EA9751AACDDA
1 changed files with
15 additions and
3 deletions
-
tests/lib/TestCase.php
|
|
@ -459,15 +459,27 @@ abstract class TestCase extends \PHPUnit\Framework\TestCase { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
protected function getGroupAnnotations(): array { |
|
|
|
if (method_exists($this, 'getAnnotations')) { |
|
|
|
$annotations = $this->getAnnotations(); |
|
|
|
return $annotations['class']['group'] ?? []; |
|
|
|
} |
|
|
|
|
|
|
|
$r = new \ReflectionClass($this); |
|
|
|
$doc = $r->getDocComment(); |
|
|
|
preg_match_all('#@group\s+(.*?)\n#s', $doc, $annotations); |
|
|
|
return $annotations[1] ?? []; |
|
|
|
} |
|
|
|
|
|
|
|
protected function IsDatabaseAccessAllowed() { |
|
|
|
// on travis-ci.org we allow database access in any case - otherwise
|
|
|
|
// this will break all apps right away
|
|
|
|
if (true == getenv('TRAVIS')) { |
|
|
|
return true; |
|
|
|
} |
|
|
|
$annotations = $this->getAnnotations(); |
|
|
|
if (isset($annotations['class']['group'])) { |
|
|
|
if (in_array('DB', $annotations['class']['group']) || in_array('SLOWDB', $annotations['class']['group'])) { |
|
|
|
$annotations = $this->getGroupAnnotations(); |
|
|
|
if (isset($annotations)) { |
|
|
|
if (in_array('DB', $annotations) || in_array('SLOWDB', $annotations)) { |
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
|