From 5a6367f52e91a4fe99995a7611314bf4d1193205 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Wed, 31 Mar 2021 11:06:06 +0200 Subject: add minimal patch to fix test suite for PHP 8 --- .gitignore | 2 ++ php-doctrine-common-php8.patch | 52 ++++++++++++++++++++++++++++++++++++++++++ php-doctrine-common.spec | 13 ++++++++--- 3 files changed, 64 insertions(+), 3 deletions(-) create mode 100644 php-doctrine-common-php8.patch diff --git a/.gitignore b/.gitignore index 1ab5c4f..01f0400 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,7 @@ +clog package-*.xml *.tgz +*.tar.bz2 *.tar.gz *.tar.xz *.tar.xz.asc diff --git a/php-doctrine-common-php8.patch b/php-doctrine-common-php8.patch new file mode 100644 index 0000000..32e1ff1 --- /dev/null +++ b/php-doctrine-common-php8.patch @@ -0,0 +1,52 @@ +diff -up ./tests/Doctrine/Tests/Common/Proxy/MagicIssetClassWithInteger.php.php8 ./tests/Doctrine/Tests/Common/Proxy/MagicIssetClassWithInteger.php +--- ./tests/Doctrine/Tests/Common/Proxy/MagicIssetClassWithInteger.php.php8 2021-03-31 10:54:57.668187413 +0200 ++++ ./tests/Doctrine/Tests/Common/Proxy/MagicIssetClassWithInteger.php 2021-03-31 10:55:02.218170669 +0200 +@@ -24,16 +24,16 @@ class MagicIssetClassWithInteger + * @return int + * @throws \BadMethodCallException + */ +- public function __isset(string $name): int ++ public function __isset(string $name): bool + { + if ('test' === $name) { +- return 1; ++ return true; + } + + if ('publicField' === $name || 'id' === $name) { + throw new \BadMethodCallException('Should never be called for "publicField" or "id"'); + } + +- return 0; ++ return false; + } + } +diff -up ./tests/Doctrine/Tests/Common/Proxy/NullableNonOptionalHintClass.php.php8 ./tests/Doctrine/Tests/Common/Proxy/NullableNonOptionalHintClass.php +diff -up ./tests/Doctrine/Tests/Common/Proxy/ProxyGeneratorTest.php.php8 ./tests/Doctrine/Tests/Common/Proxy/ProxyGeneratorTest.php +--- ./tests/Doctrine/Tests/Common/Proxy/ProxyGeneratorTest.php.php8 2021-03-31 10:54:38.446258154 +0200 ++++ ./tests/Doctrine/Tests/Common/Proxy/ProxyGeneratorTest.php 2021-03-31 10:55:06.625154451 +0200 +@@ -54,7 +54,7 @@ class ProxyGeneratorTest extends \PHPUni + $params = $method->getParameters(); + + self::assertEquals(1, count($params)); +- self::assertEquals('stdClass', $params[0]->getClass()->getName()); ++ self::assertEquals('stdClass', @$params[0]->getClass()->getName()); + } + + public function testProxyRespectsMethodsWhichReturnValuesByReference() +@@ -240,6 +240,7 @@ class ProxyGeneratorTest extends \PHPUni + + /** + * @group #751 ++ * @requires PHP < 8 + */ + public function testClassWithNullableOptionalNonLastParameterOnProxiedMethods() + { +@@ -265,6 +266,7 @@ class ProxyGeneratorTest extends \PHPUni + + /** + * @group #751 ++ * @requires PHP < 8 + */ + public function testClassWithPhp71NullableOptionalNonLastParameterOnProxiedMethods() + { diff --git a/php-doctrine-common.spec b/php-doctrine-common.spec index ed566f6..347e48d 100644 --- a/php-doctrine-common.spec +++ b/php-doctrine-common.spec @@ -2,7 +2,7 @@ # # Fedora spec file for php-doctrine-common # -# Copyright (c) 2013-2019 Shawn Iwinski +# Copyright (c) 2013-2021 Shawn Iwinski # # License: MIT # http://opensource.org/licenses/MIT @@ -58,7 +58,7 @@ Name: php-%{composer_vendor}-%{composer_project} Epoch: 1 Version: %{github_version} -Release: 1%{?dist} +Release: 4%{?dist} Summary: Common library for Doctrine projects License: MIT @@ -69,6 +69,9 @@ URL: https://github.com/%{github_owner}/%{github_name} Source0: %{name}-%{github_version}-%{github_commit}.tar.gz Source1: %{name}-get-source.sh +# Minimal fix for PHP 8 +Patch0: %{name}-php8.patch + BuildArch: noarch # Library version value check BuildRequires: php-cli @@ -172,6 +175,7 @@ Autoloader: %{phpdir}/Doctrine/Common/autoload.php %prep %setup -qn %{github_name}-%{github_commit} +%patch0 -p1 -b .php8 sed -e 's/2.12.0-DEV/%{version}/' -i lib/Doctrine/Common/Version.php @@ -223,7 +227,7 @@ sed "s#require.*autoload.*#require_once '%{buildroot}%{phpdir}/Doctrine/Common/a : Upstream tests RETURN_CODE=0 -for PHP_EXEC in "" php71 php72 php73 php74; do +for PHP_EXEC in "" php73 php74 php80; do if [ -z "$PHP_EXEC" ] || which $PHP_EXEC; then $PHP_EXEC %{_bindir}/phpunit7 --verbose || RETURN_CODE=1 fi @@ -247,6 +251,9 @@ exit $RETURN_CODE %changelog +* Wed Mar 31 2021 Remi Collet - 2.13.3-4 +- add minimal patch to fix test suite for PHP 8 + * Mon Jun 8 2020 Remi Collet - 2.13.3-1 - update to 2.13.3 -- cgit