dev-php/pecl-uploadprogress: fix tests with PHP's --enable-debug.

A few of the tests for pecl-uploadprogress throw a fatal error if
PHP was build with USE=debug. We skip the tests for now; a better
long-term solution was proposed upstream (GH issue #17).

In addition, the extension seems to work fine with php-8.2, so I've
taken the opportunity to enable it.

Closes: https://bugs.gentoo.org/906691
Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
This commit is contained in:
Michael Orlitzky 2023-05-22 10:30:09 -04:00
parent 5e64b2e22c
commit 149dee72b9
No known key found for this signature in database
GPG Key ID: 6F48D3DA05C2DADB
2 changed files with 79 additions and 2 deletions

View File

@ -0,0 +1,74 @@
From 57f3c17c684a4e5607a322a24be306eb98d340ac Mon Sep 17 00:00:00 2001
From: Michael Orlitzky <michael@orlitzky.com>
Date: Mon, 22 May 2023 10:18:29 -0400
Subject: [PATCH 1/1] tests: skip tests that fail with --enable-debug.
With PHP debugging enabled, a few tests fail. The root cause of this
is that uploadprogress_get_contents() can return FALSE to indicate
that an error has occurred, but its declared type is string. It
would probably be better if the function raised an error rather
than abusing the return value, but that's a decision upstream
would have to agree too (see: Github issue 17). For now we just
skip the tests if PHP_DEBUG is defined.
---
tests/uploadprogress_get_contents_error001.phpt | 2 ++
tests/uploadprogress_get_contents_error003.phpt | 2 ++
tests/uploadprogress_get_contents_variation002.phpt | 2 ++
tests/uploadprogress_get_contents_variation006.phpt | 2 ++
4 files changed, 8 insertions(+)
diff --git a/tests/uploadprogress_get_contents_error001.phpt b/tests/uploadprogress_get_contents_error001.phpt
index 63f4f5d..c3e10d9 100644
--- a/tests/uploadprogress_get_contents_error001.phpt
+++ b/tests/uploadprogress_get_contents_error001.phpt
@@ -5,6 +5,8 @@ uploadprogress_get_contents - Warns when function is disabled
<?php
if (!extension_loaded('uploadprogress')) exit('skip extension not loaded');
+if (PHP_DEBUG) exit('skip test throws a fatal error with --enable-debug');
+
--INI--
uploadprogress.get_contents = Off
diff --git a/tests/uploadprogress_get_contents_error003.phpt b/tests/uploadprogress_get_contents_error003.phpt
index 1ea19b8..65d94c1 100644
--- a/tests/uploadprogress_get_contents_error003.phpt
+++ b/tests/uploadprogress_get_contents_error003.phpt
@@ -5,6 +5,8 @@ uploadprogress_get_contents - Warns when maxlength is less than zero
<?php
if (!extension_loaded('uploadprogress')) exit('skip extension not loaded');
+if (PHP_DEBUG) exit('skip test throws a fatal error with --enable-debug');
+
--INI--
uploadprogress.get_contents = On
diff --git a/tests/uploadprogress_get_contents_variation002.phpt b/tests/uploadprogress_get_contents_variation002.phpt
index b4bf458..67b1b89 100644
--- a/tests/uploadprogress_get_contents_variation002.phpt
+++ b/tests/uploadprogress_get_contents_variation002.phpt
@@ -5,6 +5,8 @@ uploadprogress_get_contents - File contents not found
<?php
if (!extension_loaded('uploadprogress')) exit('skip extension not loaded');
+if (PHP_DEBUG) exit('skip test throws a fatal error with --enable-debug');
+
--INI--
uploadprogress.get_contents = On
diff --git a/tests/uploadprogress_get_contents_variation006.phpt b/tests/uploadprogress_get_contents_variation006.phpt
index e19f8d5..ec70c78 100644
--- a/tests/uploadprogress_get_contents_variation006.phpt
+++ b/tests/uploadprogress_get_contents_variation006.phpt
@@ -5,6 +5,8 @@ uploadprogress_get_contents - When contents file cannot be read
<?php
if (!extension_loaded('uploadprogress')) exit('skip extension not loaded');
+if (PHP_DEBUG) exit('skip test throws a fatal error with --enable-debug');
+
--INI--
uploadprogress.get_contents = On
--
2.39.3

View File

@ -1,9 +1,9 @@
# Copyright 1999-2022 Gentoo Authors
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
USE_PHP="php7-4 php8-0 php8-1"
USE_PHP="php7-4 php8-0 php8-1 php8-2"
PHP_EXT_SAPIS="apache2 fpm"
inherit php-ext-pecl-r3
@ -14,8 +14,11 @@ SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="examples"
PATCHES=( "${FILESDIR}/php-debug-testfix.patch" )
RDEPEND="
php_targets_php7-4? ( || ( dev-lang/php:7.4[apache2(-),fileinfo(-)] dev-lang/php:7.4[fileinfo(-),fpm(-)] ) )
php_targets_php8-0? ( || ( dev-lang/php:8.0[apache2(-),fileinfo(-)] dev-lang/php:8.0[fileinfo(-),fpm(-)] ) )
php_targets_php8-1? ( || ( dev-lang/php:8.1[apache2(-),fileinfo(-)] dev-lang/php:8.1[fileinfo(-),fpm(-)] ) )
php_targets_php8-2? ( || ( dev-lang/php:8.2[apache2(-),fileinfo(-)] dev-lang/php:8.2[fileinfo(-),fpm(-)] ) )
"