diff options
-rw-r--r-- | phpunit7-comp.patch | 122 | ||||
-rw-r--r-- | phpunit7-php8.patch | 270 | ||||
-rw-r--r-- | phpunit7.spec | 61 |
3 files changed, 418 insertions, 35 deletions
diff --git a/phpunit7-comp.patch b/phpunit7-comp.patch new file mode 100644 index 0000000..b30897f --- /dev/null +++ b/phpunit7-comp.patch @@ -0,0 +1,122 @@ +Adapted for phpunit7 from + + +From b439136ed5bdfc2abc1bbda8bd5922854c959a1f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michael=20Vo=C5=99=C3=AD=C5=A1ek?= <mvorisek@mvorisek.cz> +Date: Wed, 14 Sep 2022 15:50:39 +0200 +Subject: [PATCH] Drop comparison /w `PHP_FLOAT_EPSILON` + +--- + src/Framework/Constraint/IsIdentical.php | 13 +------------ + tests/unit/Framework/AssertTest.php | 22 +++++++++++++++++++--- + 2 files changed, 20 insertions(+), 15 deletions(-) + +diff -up ./src/Framework/Constraint/IsIdentical.php.comp ./src/Framework/Constraint/IsIdentical.php +--- ./src/Framework/Constraint/IsIdentical.php.comp 2022-09-26 09:33:03.170600127 +0200 ++++ ./src/Framework/Constraint/IsIdentical.php 2022-09-26 09:35:13.452281355 +0200 +@@ -26,11 +26,6 @@ use SebastianBergmann\Comparator\Compari + class IsIdentical extends Constraint + { + /** +- * @var float +- */ +- private const EPSILON = 0.0000000001; +- +- /** + * @var mixed + */ + private $value; +@@ -61,13 +56,7 @@ class IsIdentical extends Constraint + */ + public function evaluate($other, $description = '', $returnResult = false) + { +- if (\is_float($this->value) && \is_float($other) && +- !\is_infinite($this->value) && !\is_infinite($other) && +- !\is_nan($this->value) && !\is_nan($other)) { +- $success = \abs($this->value - $other) < self::EPSILON; +- } else { +- $success = $this->value === $other; +- } ++ $success = $this->value === $other; + + if ($returnResult) { + return $success; +diff -up ./tests/unit/Framework/AssertTest.php.comp ./tests/unit/Framework/AssertTest.php +--- ./tests/unit/Framework/AssertTest.php.comp 2022-09-26 09:33:03.170600127 +0200 ++++ ./tests/unit/Framework/AssertTest.php 2022-09-26 09:37:39.752924997 +0200 +@@ -3099,8 +3099,13 @@ XML; + [0, 0], + // floats + [2.3, 2.3], +- [1 / 3, 1 - 2 / 3], +- [\log(0), \log(0)], ++ [1 / 3, 1 / 3], ++ [1 - 2 / 3, 1 - 2 / 3], ++ [5.5E+123, 5.5E+123], ++ [5.5E-123, 5.5E-123], ++ [log(0), log(0)], ++ [INF, INF], ++ [-INF, -INF], + // arrays + [[], []], + [[0 => 1], [0 => 1]], +@@ -3156,6 +3161,12 @@ XML; + [[new \Struct(2.3)], [new \Struct(4.2)], 0.5], + // NAN + [\NAN, \NAN], ++ [1 / 3, 1 - 2 / 3], ++ [1 / 3, '0.33333333333333337'], ++ [1 - 2 / 3, '3333333333333333'], ++ [5.5E+123, 5.6E+123], ++ [5.5E-123, 5.6E-123], ++ [5.5E+123, 5.5E-123], + // arrays + [[], [0 => 1]], + [[0 => 1], []], +@@ -3359,8 +3370,12 @@ XML; + ['0', 0], + [2.3, '2.3'], + ['2.3', 2.3], +- [(string) (1 / 3), 1 - 2 / 3], +- [1 / 3, (string) (1 - 2 / 3)], ++ [1, 1.0], ++ [1.0, '1'], ++ [1 / 3, '0.3333333333333333'], ++ [1 - 2 / 3, '0.33333333333333337'], ++ [5.5E+123, '5.5E+123'], ++ [5.5E-123, '5.5E-123'], + ['string representation', new \ClassWithToString], + [new \ClassWithToString, 'string representation'], + ]; +From 3e5a5d09ff2ece2fb41c0a462246956fd055407f Mon Sep 17 00:00:00 2001 +From: Sebastian Bergmann <sb@sebastian-bergmann.de> +Date: Wed, 14 Sep 2022 08:56:29 +0200 +Subject: [PATCH] Delete test that expected wrong behaviour of + sebastian/comparator + +--- + tests/unit/Framework/Constraint/IsEqualTest.php | 12 ------------ + 1 file changed, 12 deletions(-) + +diff -up ./tests/unit/Framework/Constraint/IsEqualTest.php.comp ./tests/unit/Framework/Constraint/IsEqualTest.php +--- ./tests/unit/Framework/Constraint/IsEqualTest.php.comp 2022-09-26 09:40:05.516578010 +0200 ++++ ./tests/unit/Framework/Constraint/IsEqualTest.php 2022-09-26 09:41:35.658375993 +0200 +@@ -166,18 +166,6 @@ Failed asserting that two arrays are equ + + EOF + ], +- [[true], ['true'], <<<EOF +-Failed asserting that two arrays are equal. +---- Expected +-+++ Actual +-@@ @@ +- Array ( +-- 0 => true +-+ 0 => 'true' +- ) +- +-EOF +- ], + [[0, [1], [2], 3], [0, [4], [2], 3], <<<EOF + Failed asserting that two arrays are equal. + --- Expected diff --git a/phpunit7-php8.patch b/phpunit7-php8.patch index d2a286e..998785f 100644 --- a/phpunit7-php8.patch +++ b/phpunit7-php8.patch @@ -1,6 +1,6 @@ diff -up ./src/Framework/MockObject/Builder/Match.php.php8 ./src/Framework/MockObject/Builder/Match.php --- ./src/Framework/MockObject/Builder/Match.php.php8 2020-01-08 09:45:45.000000000 +0100 -+++ ./src/Framework/MockObject/Builder/Match.php 2021-03-24 14:30:25.218737051 +0100 ++++ ./src/Framework/MockObject/Builder/Match.php 2021-03-26 14:22:46.505856216 +0100 @@ -12,7 +12,7 @@ namespace PHPUnit\Framework\MockObject\B /** * Builder interface for invocation order matches. @@ -12,7 +12,7 @@ diff -up ./src/Framework/MockObject/Builder/Match.php.php8 ./src/Framework/MockO * Defines the expectation which must occur before the current is valid. diff -up ./src/Framework/MockObject/Builder/NamespaceMatch.php.php8 ./src/Framework/MockObject/Builder/NamespaceMatch.php --- ./src/Framework/MockObject/Builder/NamespaceMatch.php.php8 2020-01-08 09:45:45.000000000 +0100 -+++ ./src/Framework/MockObject/Builder/NamespaceMatch.php 2021-03-24 14:30:25.218737051 +0100 ++++ ./src/Framework/MockObject/Builder/NamespaceMatch.php 2021-03-26 14:22:46.505856216 +0100 @@ -33,5 +33,5 @@ interface NamespaceMatch * @param string $id The identification of the match builder * @param Match $builder The builder which is being registered @@ -22,7 +22,7 @@ diff -up ./src/Framework/MockObject/Builder/NamespaceMatch.php.php8 ./src/Framew } diff -up ./src/Framework/MockObject/Builder/ParametersMatch.php.php8 ./src/Framework/MockObject/Builder/ParametersMatch.php --- ./src/Framework/MockObject/Builder/ParametersMatch.php.php8 2020-01-08 09:45:45.000000000 +0100 -+++ ./src/Framework/MockObject/Builder/ParametersMatch.php 2021-03-24 14:30:25.218737051 +0100 ++++ ./src/Framework/MockObject/Builder/ParametersMatch.php 2021-03-26 14:22:46.505856216 +0100 @@ -14,7 +14,7 @@ use PHPUnit\Framework\MockObject\Matcher /** * Builder interface for parameter matchers. @@ -32,10 +32,9 @@ diff -up ./src/Framework/MockObject/Builder/ParametersMatch.php.php8 ./src/Frame { /** * Sets the parameters to match for, each parameter to this function will -diff -up ./src/Framework/MockObject/Generator.php.php8 ./src/Framework/MockObject/Generator.php diff -up ./src/Framework/MockObject/InvocationMocker.php.php8 ./src/Framework/MockObject/InvocationMocker.php --- ./src/Framework/MockObject/InvocationMocker.php.php8 2020-01-08 09:45:45.000000000 +0100 -+++ ./src/Framework/MockObject/InvocationMocker.php 2021-03-24 14:30:25.218737051 +0100 ++++ ./src/Framework/MockObject/InvocationMocker.php 2021-03-26 14:22:46.505856216 +0100 @@ -12,7 +12,7 @@ namespace PHPUnit\Framework\MockObject; use Exception; use PHPUnit\Framework\ExpectationFailedException; @@ -56,24 +55,169 @@ diff -up ./src/Framework/MockObject/InvocationMocker.php.php8 ./src/Framework/Mo throw new RuntimeException( diff -up ./src/Framework/MockObject/MockMethod.php.php8 ./src/Framework/MockObject/MockMethod.php --- ./src/Framework/MockObject/MockMethod.php.php8 2020-01-08 09:45:45.000000000 +0100 -+++ ./src/Framework/MockObject/MockMethod.php 2021-03-24 14:30:25.218737051 +0100 -@@ -301,11 +301,11 @@ final class MockMethod - $nullable = '?'; ++++ ./src/Framework/MockObject/MockMethod.php 2021-03-26 14:23:49.737575694 +0100 +@@ -12,6 +12,7 @@ namespace PHPUnit\Framework\MockObject; + use ReflectionClass; + use ReflectionException; + use ReflectionMethod; ++use ReflectionNamedType; + use Text_Template; + + final class MockMethod +@@ -269,7 +270,7 @@ final class MockMethod + * + * @throws RuntimeException + */ +- private static function getMethodParameters(ReflectionMethod $method, bool $forCall = false): string ++ private static function getMethodParametersForDeclaration(ReflectionMethod $method): string + { + $parameters = []; + +@@ -283,63 +284,38 @@ final class MockMethod + $name = '$arg' . $i; + } + +- if ($parameter->isVariadic()) { +- if ($forCall) { +- continue; +- } +- +- $name = '...' . $name; +- } +- + $nullable = ''; + $default = ''; + $reference = ''; + $typeDeclaration = ''; ++ $type = null; ++ $typeName = null; + +- if (!$forCall) { +- if ($parameter->hasType() && $parameter->allowsNull()) { +- $nullable = '?'; ++ if ($parameter->hasType()) { ++ $type = $parameter->getType(); ++ ++ if ($type instanceof ReflectionNamedType) { ++ $typeName = $type->getName(); } ++ } ++ ++ if ($parameter->isVariadic()) { ++ $name = '...' . $name; ++ } elseif ($parameter->isDefaultValueAvailable()) { ++ $default = ' = ' . var_export($parameter->getDefaultValue(), true); ++ } elseif ($parameter->isOptional()) { ++ $default = ' = null'; ++ } - if ($parameter->hasType() && $parameter->getType()->getName() !== 'self') { -+ if ($parameter->hasType() && (($t=$parameter->getType()) instanceof ReflectionNamedType) && $t->getName() !== 'self') { - $typeDeclaration = $parameter->getType()->getName() . ' '; - } else { - try { +- $typeDeclaration = $parameter->getType()->getName() . ' '; +- } else { +- try { - $class = $parameter->getClass(); -+ $class = @$parameter->getClass(); - } catch (ReflectionException $e) { - throw new RuntimeException( - \sprintf( +- } catch (ReflectionException $e) { +- throw new RuntimeException( +- \sprintf( +- 'Cannot mock %s::%s() because a class or ' . +- 'interface used in the signature is not loaded', +- $method->getDeclaringClass()->getName(), +- $method->getName() +- ), +- 0, +- $e +- ); +- } +- +- if ($class !== null) { +- $typeDeclaration = $class->getName() . ' '; +- } ++ if ($type !== null) { ++ if ($typeName !== 'mixed' && $parameter->allowsNull()) { ++ $nullable = '?'; + } + +- if (!$parameter->isVariadic()) { +- if ($parameter->isDefaultValueAvailable()) { +- try { +- $value = \var_export($parameter->getDefaultValue(), true); +- } catch (\ReflectionException $e) { +- throw new RuntimeException( +- $e->getMessage(), +- (int) $e->getCode(), +- $e +- ); +- } +- +- $default = ' = ' . $value; +- } elseif ($parameter->isOptional()) { +- $default = ' = null'; +- } ++ if ($typeName === 'self') { ++ $typeDeclaration = $method->getDeclaringClass()->getName() . ' '; ++ } elseif ($typeName !== null) { ++ $typeDeclaration = $typeName . ' '; + } + } + +@@ -350,6 +326,53 @@ final class MockMethod + $parameters[] = $nullable . $typeDeclaration . $reference . $name . $default; + } + +- return \implode(', ', $parameters); ++ return implode(', ', $parameters); ++ } ++ ++ /** ++ * Returns the parameters of a function or method. ++ * ++ * @throws ReflectionException ++ */ ++ private static function getMethodParametersForCall(ReflectionMethod $method): string ++ { ++ $parameters = []; ++ ++ foreach ($method->getParameters() as $i => $parameter) { ++ $name = '$' . $parameter->getName(); ++ ++ /* Note: PHP extensions may use empty names for reference arguments ++ * or "..." for methods taking a variable number of arguments. ++ */ ++ if ($name === '$' || $name === '$...') { ++ $name = '$arg' . $i; ++ } ++ ++ if ($parameter->isVariadic()) { ++ continue; ++ } ++ ++ if ($parameter->isPassedByReference()) { ++ $parameters[] = '&' . $name; ++ } else { ++ $parameters[] = $name; ++ } ++ } ++ ++ return implode(', ', $parameters); ++ } ++ ++ ++ /** ++ * Returns the parameters of a function or method. ++ * ++ * @throws RuntimeException ++ */ ++ private static function getMethodParameters(ReflectionMethod $method, bool $forCall = false): string ++ { ++ if ($forCall) { ++ return self::getMethodParametersForCall($method); ++ } ++ return self::getMethodParametersForDeclaration($method); + } + } diff -up ./tests/_files/SingletonClass.php.php8 ./tests/_files/SingletonClass.php ---- ./tests/_files/SingletonClass.php.php8 2021-03-24 14:33:54.292214558 +0100 -+++ ./tests/_files/SingletonClass.php 2021-03-24 14:37:50.093575868 +0100 +--- ./tests/_files/SingletonClass.php.php8 2020-01-08 09:45:45.000000000 +0100 ++++ ./tests/_files/SingletonClass.php 2021-03-26 14:22:46.505856216 +0100 @@ -17,11 +17,11 @@ class SingletonClass { } @@ -90,7 +234,7 @@ diff -up ./tests/_files/SingletonClass.php.php8 ./tests/_files/SingletonClass.ph diff -up ./tests/unit/Framework/Constraint/IsTypeTest.php.php8 ./tests/unit/Framework/Constraint/IsTypeTest.php --- ./tests/unit/Framework/Constraint/IsTypeTest.php.php8 2020-01-08 09:45:45.000000000 +0100 -+++ ./tests/unit/Framework/Constraint/IsTypeTest.php 2021-03-24 14:30:25.219737049 +0100 ++++ ./tests/unit/Framework/Constraint/IsTypeTest.php 2021-03-26 14:22:46.505856216 +0100 @@ -74,7 +74,7 @@ EOF $this->assertTrue($constraint->evaluate($resource, '', true)); @@ -102,7 +246,7 @@ diff -up ./tests/unit/Framework/Constraint/IsTypeTest.php.php8 ./tests/unit/Fram public function resources() diff -up ./tests/unit/Framework/Constraint/JsonMatchesErrorMessageProviderTest.php.php8 ./tests/unit/Framework/Constraint/JsonMatchesErrorMessageProviderTest.php --- ./tests/unit/Framework/Constraint/JsonMatchesErrorMessageProviderTest.php.php8 2020-01-08 09:45:45.000000000 +0100 -+++ ./tests/unit/Framework/Constraint/JsonMatchesErrorMessageProviderTest.php 2021-03-24 14:30:25.219737049 +0100 ++++ ./tests/unit/Framework/Constraint/JsonMatchesErrorMessageProviderTest.php 2021-03-26 14:22:46.505856216 +0100 @@ -17,7 +17,7 @@ class JsonMatchesErrorMessageProviderTes { return [ @@ -112,3 +256,89 @@ diff -up ./tests/unit/Framework/Constraint/JsonMatchesErrorMessageProviderTest.p ], 'JSON_ERROR_DEPTH' => [ 'Maximum stack depth exceeded', \JSON_ERROR_DEPTH, '', +diff -up ./src/Util/Configuration.php.old ./src/Util/Configuration.php +--- ./src/Util/Configuration.php.old 2021-09-10 08:26:04.654231054 +0200 ++++ ./src/Util/Configuration.php 2021-09-10 08:27:14.019129699 +0200 +@@ -567,24 +567,27 @@ final class Configuration + */ + switch ($array) { + case 'var': +- $target = &$GLOBALS; ++ foreach ($configuration[$array] as $name => $data) { ++ $GLOBALS[$name] = $data['value']; ++ } + + break; + + case 'server': +- $target = &$_SERVER; ++ foreach ($configuration[$array] as $name => $data) { ++ $_SERVER[$name] = $data['value']; ++ } + + break; + + default: +- $target = &$GLOBALS['_' . \strtoupper($array)]; ++ foreach ($configuration[$array] as $name => $data) { ++ $GLOBALS['_' . \strtoupper($array)][$name] = $data['value']; ++ } + + break; + } + +- foreach ($configuration[$array] as $name => $data) { +- $target[$name] = $data['value']; +- } + } + + foreach ($configuration['env'] as $name => $data) { +diff -up ./src/Util/PHP/Template/TestCaseClass.tpl.dist.old ./src/Util/PHP/Template/TestCaseClass.tpl.dist +--- ./src/Util/PHP/Template/TestCaseClass.tpl.dist.old 2021-09-10 08:26:32.213191401 +0200 ++++ ./src/Util/PHP/Template/TestCaseClass.tpl.dist 2021-09-10 08:26:55.407157223 +0200 +@@ -87,7 +87,7 @@ if ('' !== $configurationFilePath) { + unset($configuration); + } + +-function __phpunit_error_handler($errno, $errstr, $errfile, $errline, $errcontext) ++function __phpunit_error_handler($errno, $errstr, $errfile, $errline, $errcontext=null) + { + return true; + } +diff -up ./src/Util/PHP/Template/TestCaseMethod.tpl.dist.old ./src/Util/PHP/Template/TestCaseMethod.tpl.dist +--- ./src/Util/PHP/Template/TestCaseMethod.tpl.dist.old 2021-09-10 08:26:26.609199466 +0200 ++++ ./src/Util/PHP/Template/TestCaseMethod.tpl.dist 2021-09-10 08:26:48.235167829 +0200 +@@ -89,7 +89,7 @@ if ('' !== $configurationFilePath) { + unset($configuration); + } + +-function __phpunit_error_handler($errno, $errstr, $errfile, $errline, $errcontext) ++function __phpunit_error_handler($errno, $errstr, $errfile, $errline, $errcontext=null) + { + return true; + } +diff -up ./src/Framework/Constraint/IsType.php.old ./src/Framework/Constraint/IsType.php +--- ./src/Framework/Constraint/IsType.php.old 2021-11-23 07:43:17.366683633 +0100 ++++ ./src/Framework/Constraint/IsType.php 2021-11-23 07:43:35.332633310 +0100 +@@ -137,7 +137,20 @@ class IsType extends Constraint + return \is_object($other); + + case 'resource': +- return \is_resource($other) || \is_string(@\get_resource_type($other)); ++ if (is_resource($other)) { ++ return true; ++ } ++ ++ try { ++ $resource = @get_resource_type($other); ++ ++ if (is_string($resource)) { ++ return true; ++ } ++ } catch (\TypeError $e) { ++ } ++ ++ return false; + + case 'scalar': + return \is_scalar($other); diff --git a/phpunit7.spec b/phpunit7.spec index f34df11..2858e02 100644 --- a/phpunit7.spec +++ b/phpunit7.spec @@ -1,13 +1,14 @@ # remirepo/fedora spec file for phpunit7 # -# Copyright (c) 2010-2021 Remi Collet +# Copyright (c) 2010-2023 Remi Collet # -# License: CC-BY-SA +# License: CC-BY-SA-4.0 # http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # +# remirepo:2 # For compatibility with SCL %undefine __brp_mangle_shebangs @@ -28,10 +29,10 @@ Name: %{pk_project}%{ver_major} Version: %{ver_major}.%{ver_minor}.%{ver_patch} -Release: 4%{?dist} +Release: 13%{?dist} Summary: The PHP Unit Testing framework version %{ver_major} -License: BSD +License: BSD-3-Clause URL: https://github.com/%{gh_vendor}/%{gh_project} Source0: https://github.com/%{gh_vendor}/%{gh_project}/archive/%{gh_commit}/%{name}-%{version}-%{gh_short}.tar.gz @@ -39,6 +40,8 @@ Source0: https://github.com/%{gh_vendor}/%{gh_project}/archive/%{gh_commi Patch0: %{name}-rpm.patch # Minimal fix for PHP 8 Patch1: %{name}-php8.patch +# Fix for new comparator +Patch2: %{name}-comp.patch BuildArch: noarch BuildRequires: php(language) >= 7.1 @@ -182,6 +185,11 @@ Requires: php-spl # projects have been merged Obsoletes: php-phpunit-mock-objects6 < 6.1.3 +%if 0%{?fedora} >= 39 || 0%{?rhel} >= 10 +Provides: php-composer(phpunit/phpunit) = %{version} +Provides: phpunit = %{version}-%{release} +%endif + %description PHPUnit is a programmer-oriented testing framework for PHP. @@ -199,10 +207,13 @@ Documentation: https://phpunit.readthedocs.io/ %prep %setup -q -n %{gh_project}-%{gh_commit} -%patch0 -p1 -b .rpm -%patch1 -p1 -b .php8 +%patch -P0 -p1 -b .rpm +%patch -P1 -p1 -b .php8 +%patch -P2 -p1 -b .comp find . -name \*.php8 -delete -print +find . -name \*.comp -delete -print + %build %{_bindir}/phpab \ @@ -217,7 +228,6 @@ cat << 'EOF' | tee -a src/autoload.php '%{php_home}/Text/Template/Autoload.php', '%{php_home}/SebastianBergmann/CodeCoverage6/autoload.php', '%{php_home}/SebastianBergmann/Timer/autoload.php', - '%{php_home}/Prophecy/autoload.php', '%{php_home}/SebastianBergmann/Diff3/autoload.php', // Before comparator which may load v2 '%{php_home}/SebastianBergmann/Comparator3/autoload.php', '%{php_home}/SebastianBergmann/Environment4/autoload.php', @@ -231,6 +241,8 @@ cat << 'EOF' | tee -a src/autoload.php '%{php_home}/SebastianBergmann/Invoker/autoload.php', '%{php_home}/PharIo/Manifest/autoload.php', '%{php_home}/PharIo/Version/autoload.php', + // May load Comparator/RecursionContext bad version + '%{php_home}/Prophecy/autoload.php', ]); // Extensions \Fedora\Autoloader\Dependencies::optional([ @@ -260,18 +272,22 @@ sed -e 's:@PATH@:%{buildroot}%{php_home}/%{ns_vendor}:' -i tests/bootstrap.php sed -e 's:%{php_home}/%{ns_vendor}:%{buildroot}%{php_home}/%{ns_vendor}:' -i phpunit ret=0 -for cmd in php php73 php74 php80; do +for cmd in php php81 php82 php83; do if which $cmd; then OPT="--testsuite=unit --no-coverage" VER=$($cmd -r 'echo PHP_VERSION_ID;'); - if [ $VER -ge 80000 ]; then - FILTER="testStaticAttributesBackupPre|testResourceTypeCanBeAsserted|testNotResourceTypeCanBeAsserted|testCreateMockFromWsdl" - FILTER="$FILTER|testCreateNamespacedMockFromWsdl|testCreateTwoMocksOfOneWsdlFile|testCreateMockOfWsdlFileWithSpecialChars" - FILTER="$FILTER|testCreateTestForConstructorlessTestClass|testCountTraversable|testConstraintTraversableCheckForObjectIdentityForDefaultCase" - OPT="$OPT --filter '^((?!($FILTER)).)*$'" - elif [ $VER -ge 70400 ]; then - OPT="$OPT --filter '^((?!(testStaticAttributesBackupPre)).)*$'" + if [ $VER -ge 70400 ]; then + FILTER="testStaticAttributesBackupPre" + fi + if [ $VER -ge 80000 ]; then + FILTER="$FILTER|testCountTraversable|testConstraintTraversableCheckForObjectIdentityForDefaultCase" + fi + if [ $VER -ge 80300 ]; then + FILTER="$FILTER|testMessageXdebugScreamCompatibility|testGetOriginalException|testNoOriginalExceptionInStacktrace|testIsInIsolationReturnsTrue" + fi + if [ -n "$FILTER" ]; then + OPT="$OPT --filter '^((?!($FILTER)).)*$'" fi $cmd ./phpunit $OPT --verbose || ret=1 fi @@ -290,6 +306,21 @@ exit $ret %changelog +* Fri Dec 22 2023 Remi Collet <remi@remirepo.net> - 7.5.20-13 +- fix possible autoloader issue with phpspec/prophecy + +* Mon Sep 26 2022 Remi Collet <remi@remirepo.net> - 7.5.20-11 +- backport upstream fix for new sebastian/comparator + +* Tue Nov 23 2021 Remi Collet <remi@remirepo.net> - 7.5.20-8 +- additional fix for PHP 8 + +* Fri Sep 10 2021 Remi Collet <remi@remirepo.net> - 7.5.20-7 +- add minimal patch for PHP 8.1 + +* Fri Mar 26 2021 Remi Collet <remi@remirepo.net> - 7.5.20-5 +- more fix for PHP 8 + * Thu Mar 25 2021 Remi Collet <remi@remirepo.net> - 7.5.20-4 - recommend using a supported version |