summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemi Collet <remi@remirepo.net>2024-03-07 08:01:05 +0100
committerRemi Collet <remi@php.net>2024-03-07 08:01:05 +0100
commit6ebd4a8ef593388ab06c3a7f697386ada8464861 (patch)
treefac24f10ce81e40f35a762ef9d3356c698ad4ac8
parentaa927ffdc0b0d6ccb5f4d94ba84f178d787fa713 (diff)
patch test suite for zlib-ng
-rw-r--r--failed.txt7
-rw-r--r--php-7.4.33-gcc14.patch169
-rw-r--r--php-7.4.33-zlib-tests.patch462
-rw-r--r--php74.spec11
4 files changed, 646 insertions, 3 deletions
diff --git a/failed.txt b/failed.txt
index 6b90e4f..f009f0d 100644
--- a/failed.txt
+++ b/failed.txt
@@ -1,4 +1,4 @@
-===== 7.4.33-10 (2023-12-12)
+===== 7.4.33-13 (2024-03-07)
$ grep -ar 'Tests failed' /var/lib/mock/*/build.log
@@ -7,14 +7,17 @@ $ grep -ar 'Tests failed' /var/lib/mock/*/build.log
/var/lib/mock/el8x74/build.log:Tests failed : 0
/var/lib/mock/el9a74/build.log:Tests failed : 1
/var/lib/mock/el9x74/build.log:Tests failed : 1
-/var/lib/mock/fc37x74/build.log:Tests failed : 0
/var/lib/mock/fc38x74/build.log:Tests failed : 1
/var/lib/mock/fc39a74/build.log:Tests failed : 1
/var/lib/mock/fc39x74/build.log:Tests failed : 1
+/var/lib/mock/fc40a74/build.log:Tests failed : 2
+/var/lib/mock/fc40x74/build.log:Tests failed : 2
fc38, fc39, el9:
3 openssl_private_decrypt() tests [ext/openssl/tests/openssl_private_decrypt_basic.phpt]
+fc40:
+ 3 openssl_x509_parse() tests [ext/openssl/tests/openssl_x509_parse_basic.phpt]
1 proc_open give erratic test results :(
diff --git a/php-7.4.33-gcc14.patch b/php-7.4.33-gcc14.patch
index 7af776f..eef34ad 100644
--- a/php-7.4.33-gcc14.patch
+++ b/php-7.4.33-gcc14.patch
@@ -30,3 +30,172 @@ diff -up php-7.4.33/sapi/litespeed/lsapi_main.c.gcc14 php-7.4.33/sapi/litespeed/
#include "lsapilib.h"
#include <stdio.h>
+
+
+Adapted for 7.4 from:
+
+From aeaab8ee3e52f74c042a861e394437d6554b36be Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Mon, 9 Sep 2019 21:29:03 +0200
+Subject: [PATCH] Port various autoconf bits to C99 compilers
+
+C99 no longer has implicit function declarations and implicit ints.
+Current GCC versions enable them as an extension, but this will
+change in a future GCC version.
+---
+ Zend/Zend.m4 | 2 ++
+ build/libtool.m4 | 5 +----
+ build/php.m4 | 17 ++++++++++-------
+ configure.ac | 2 ++
+ ext/standard/config.m4 | 22 ++++++++++++++++++++++
+ 5 files changed, 37 insertions(+), 11 deletions(-)
+
+diff --git a/Zend/Zend.m4 b/Zend/Zend.m4
+index 054e2621a4057..57a12ac36ba60 100644
+--- a/Zend/Zend.m4
++++ b/Zend/Zend.m4
+@@ -157,6 +157,7 @@ AC_MSG_CHECKING(whether double cast to long preserves least significant bits)
+
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ #include <limits.h>
++#include <stdlib.h>
+
+ int main()
+ {
+@@ -256,6 +257,7 @@ AC_MSG_CHECKING(for MM alignment and log values)
+
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ #include <stdio.h>
++#include <stdlib.h>
+
+ typedef union _mm_align_test {
+ void *ptr;
+diff --git a/build/libtool.m4 b/build/libtool.m4
+index f7f51642920f9..577dad4cbe313 100644
+--- a/build/libtool.m4
++++ b/build/libtool.m4
+@@ -945,6 +945,7 @@ else
+ #endif
+
+ #include <stdio.h>
++#include <stdlib.h>
+
+ #ifdef RTLD_GLOBAL
+ # define LT_DLGLOBAL RTLD_GLOBAL
+diff --git a/build/php.m4 b/build/php.m4
+index 25f5aa762b892..529876b6b67c6 100644
+--- a/build/php.m4
++++ b/build/php.m4
+@@ -1120,7 +1120,7 @@ AC_CACHE_CHECK(for type of reentrant time-related functions, ac_cv_time_r_type,[
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ #include <time.h>
+
+-main() {
++int main() {
+ char buf[27];
+ struct tm t;
+ time_t old = 0;
+@@ -1136,7 +1136,7 @@ return (1);
+ ],[
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ #include <time.h>
+-main() {
++int main() {
+ struct tm t, *s;
+ time_t old = 0;
+ char buf[27], *p;
+@@ -1597,7 +1600,7 @@ AC_DEFUN([PHP_CHECK_FUNC_LIB],[
+ if test "$found" = "yes"; then
+ ac_libs=$LIBS
+ LIBS="$LIBS -l$2"
+- AC_RUN_IFELSE([AC_LANG_SOURCE([[main() { return (0); }]])],[found=yes],[found=no],[found=no])
++ AC_RUN_IFELSE([AC_LANG_SOURCE([[int main() { return (0); }]])],[found=yes],[found=no],[found=no])
+ LIBS=$ac_libs
+ fi
+
+@@ -2285,7 +2288,7 @@ AC_DEFUN([PHP_TEST_WRITE_STDOUT],[
+
+ #define TEXT "This is the test message -- "
+
+-main()
++int main()
+ {
+ int n;
+
+diff --git a/configure.ac b/configure.ac
+index d759b027517e5..e15b83ca25296 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -665,6 +665,8 @@
+ #include <string.h>
+ #include <netdb.h>
+ #include <sys/types.h>
++#include <string.h>
++#include <stdlib.h>
+ #ifndef AF_INET
+ # include <sys/socket.h>
+ #endif
+diff --git a/ext/standard/config.m4 b/ext/standard/config.m4
+index 9f85ec2b7080d..5b49e5d661f3c 100644
+--- a/ext/standard/config.m4
++++ b/ext/standard/config.m4
+@@ -71,6 +71,9 @@ AC_CACHE_CHECK(for standard DES crypt, ac_cv_crypt_des,[
+ #include <crypt.h>
+ #endif
+
++#include <stdlib.h>
++#include <string.h>
++
+ int main() {
+ #if HAVE_CRYPT
+ char *encrypted = crypt("rasmuslerdorf","rl");
+@@ -98,6 +101,9 @@ AC_CACHE_CHECK(for extended DES crypt, ac_cv_crypt_ext_des,[
+ #include <crypt.h>
+ #endif
+
++#include <stdlib.h>
++#include <string.h>
++
+ int main() {
+ #if HAVE_CRYPT
+ char *encrypted = crypt("rasmuslerdorf","_J9..rasm");
+@@ -125,6 +131,9 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ #include <crypt.h>
+ #endif
+
++#include <stdlib.h>
++#include <string.h>
++
+ int main() {
+ #if HAVE_CRYPT
+ char salt[15], answer[40];
+@@ -162,6 +171,9 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ #include <crypt.h>
+ #endif
+
++#include <stdlib.h>
++#include <string.h>
++
+ int main() {
+ #if HAVE_CRYPT
+ char salt[30], answer[70];
+@@ -196,6 +208,9 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ #include <crypt.h>
+ #endif
+
++#include <stdlib.h>
++#include <string.h>
++
+ int main() {
+ #if HAVE_CRYPT
+ char salt[21], answer[21+86];
+@@ -229,6 +244,9 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ #include <crypt.h>
+ #endif
+
++#include <stdlib.h>
++#include <string.h>
++
+ int main() {
+ #if HAVE_CRYPT
+ char salt[21], answer[21+43];
diff --git a/php-7.4.33-zlib-tests.patch b/php-7.4.33-zlib-tests.patch
new file mode 100644
index 0000000..5f2e3fe
--- /dev/null
+++ b/php-7.4.33-zlib-tests.patch
@@ -0,0 +1,462 @@
+Adapted for 7.4 from
+
+
+From 5e12844d4d0053f3c3f1b20635efdb6f30e85190 Mon Sep 17 00:00:00 2001
+From: Remi Collet <remi@remirepo.net>
+Date: Thu, 29 Feb 2024 10:52:54 +0100
+Subject: [PATCH] Fix GH-13217 Test failure with zlib-ng
+
+As compressed result may be different
+- drop or relax expectations on compressed data
+- rely on uncompressed result of compressed data
+---
+ ext/zlib/tests/bug48725_2.phpt | 4 +-
+ ext/zlib/tests/bug71417.phpt | 2 +-
+ ext/zlib/tests/gzcompress_basic1.phpt | 29 +---------
+ ext/zlib/tests/gzcompress_variation1.phpt | 10 ++--
+ ext/zlib/tests/gzdeflate_basic1.phpt | 29 +---------
+ ext/zlib/tests/gzdeflate_variation1.phpt | 10 ++--
+ ext/zlib/tests/gzencode_basic1.phpt | 67 ++++++++++-------------
+ ext/zlib/tests/gzencode_variation1.phpt | 4 +-
+ ext/zlib/tests/gzinflate-bug42663.phpt | 2 +-
+ ext/zlib/tests/zlib_filter_deflate.phpt | 4 +-
+ 10 files changed, 54 insertions(+), 107 deletions(-)
+
+
+diff --git a/ext/zlib/tests/bug48725_2.phpt b/ext/zlib/tests/bug48725_2.phpt
+index 168afd8d3d..6e92a43115 100644
+--- a/ext/zlib/tests/bug48725_2.phpt
++++ b/ext/zlib/tests/bug48725_2.phpt
+@@ -9,7 +9,7 @@ if (!extension_loaded('zlib')) die('skip zlib extension not available');
+ $stream = fopen('data://text/plain;base64,' . base64_encode('Foo bar baz'),
+ 'r');
+ stream_filter_append($stream, 'zlib.deflate', STREAM_FILTER_READ);
+-print bin2hex(stream_get_contents($stream));
++print gzinflate(stream_get_contents($stream));
+ ?>
+ --EXPECT--
+-72cbcf57484a2c02e22a00000000ffff0300
++Foo bar baz
+diff --git a/ext/zlib/tests/bug71417.phpt b/ext/zlib/tests/bug71417.phpt
+index ae1390134e..53c2d82443 100644
+--- a/ext/zlib/tests/bug71417.phpt
++++ b/ext/zlib/tests/bug71417.phpt
+@@ -73,7 +73,7 @@ read: bool(false)
+ gzdecode():
+ Warning: gzdecode(): data error in %s on line %d
+
+-read: string(32) "The quick brown fox jumps over t"
++read: string(3%d) "The quick brown fox jumps over%s"
+ gzdecode():
+ Warning: gzdecode(): data error in %s on line %d
+
+diff --git a/ext/zlib/tests/gzcompress_basic1.phpt b/ext/zlib/tests/gzcompress_basic1.phpt
+index 882fd87fad..5115ff86aa 100644
+--- a/ext/zlib/tests/gzcompress_basic1.phpt
++++ b/ext/zlib/tests/gzcompress_basic1.phpt
+@@ -33,7 +33,6 @@ $smallstring = "A small string to compress\n";
+ for($i = -1; $i < 10; $i++) {
+ echo "-- Compression level $i --\n";
+ $output = gzcompress($data, $i);
+- var_dump(md5($output));
+ var_dump(strcmp(gzuncompress($output), $data));
+ }
+
+@@ -41,85 +40,63 @@ for($i = -1; $i < 10; $i++) {
+ for($i = -1; $i < 10; $i++) {
+ echo "-- Compression level $i --\n";
+ $output = gzcompress($smallstring, $i);
+- var_dump(bin2hex($output));
+ var_dump(strcmp(gzuncompress($output), $smallstring));
+ }
+
+ // Calling gzcompress() with mandatory arguments
+ echo "\n-- Testing with no specified compression level --\n";
+-var_dump( bin2hex(gzcompress($smallstring) ));
++$output = gzcompress($smallstring);
++var_dump(strcmp(gzuncompress($output), $smallstring));
+
+ ?>
+ ===Done===
+ --EXPECT--
+ *** Testing gzcompress() : basic functionality ***
+ -- Compression level -1 --
+-string(32) "764809aef15bb34cb73ad49ecb600d99"
+ int(0)
+ -- Compression level 0 --
+-string(32) "d0136b3fb5424142c0eb26dfec8f56fe"
+ int(0)
+ -- Compression level 1 --
+-string(32) "c2e070f4320d1f674965eaab95b53d9c"
+ int(0)
+ -- Compression level 2 --
+-string(32) "36922f486410d08209d0d0d21b26030e"
+ int(0)
+ -- Compression level 3 --
+-string(32) "a441a2f5169bb303cd45b860a5a9dbf9"
+ int(0)
+ -- Compression level 4 --
+-string(32) "d5b7451e9de2864beccc9de1fc55eb87"
+ int(0)
+ -- Compression level 5 --
+-string(32) "32ba4a01120449ec25508cabfad41f56"
+ int(0)
+ -- Compression level 6 --
+-string(32) "764809aef15bb34cb73ad49ecb600d99"
+ int(0)
+ -- Compression level 7 --
+-string(32) "e083e7e8d05471fed3c2182b9cd0d9eb"
+ int(0)
+ -- Compression level 8 --
+-string(32) "e083e7e8d05471fed3c2182b9cd0d9eb"
+ int(0)
+ -- Compression level 9 --
+-string(32) "e083e7e8d05471fed3c2182b9cd0d9eb"
+ int(0)
+ -- Compression level -1 --
+-string(70) "789c735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee6020087a509cb"
+ int(0)
+ -- Compression level 0 --
+-string(76) "7801011b00e4ff4120736d616c6c20737472696e6720746f20636f6d70726573730a87a509cb"
+ int(0)
+ -- Compression level 1 --
+-string(70) "7801735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee6020087a509cb"
+ int(0)
+ -- Compression level 2 --
+-string(70) "785e735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee6020087a509cb"
+ int(0)
+ -- Compression level 3 --
+-string(70) "785e735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee6020087a509cb"
+ int(0)
+ -- Compression level 4 --
+-string(70) "785e735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee6020087a509cb"
+ int(0)
+ -- Compression level 5 --
+-string(70) "785e735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee6020087a509cb"
+ int(0)
+ -- Compression level 6 --
+-string(70) "789c735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee6020087a509cb"
+ int(0)
+ -- Compression level 7 --
+-string(70) "78da735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee6020087a509cb"
+ int(0)
+ -- Compression level 8 --
+-string(70) "78da735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee6020087a509cb"
+ int(0)
+ -- Compression level 9 --
+-string(70) "78da735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee6020087a509cb"
+ int(0)
+
+ -- Testing with no specified compression level --
+-string(70) "789c735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee6020087a509cb"
++int(0)
+ ===Done===
+diff --git a/ext/zlib/tests/gzcompress_variation1.phpt b/ext/zlib/tests/gzcompress_variation1.phpt
+index c4bc0a1ff5..818c8443b2 100644
+--- a/ext/zlib/tests/gzcompress_variation1.phpt
++++ b/ext/zlib/tests/gzcompress_variation1.phpt
+@@ -20,15 +20,15 @@ echo "*** Testing gzcompress() : variation ***\n";
+
+ echo "\n-- Testing multiple compression --\n";
+ $output = gzcompress($data);
+-var_dump( md5($output));
+-var_dump(md5(gzcompress($output)));
++var_dump(strlen($output));
++var_dump(strlen(gzcompress($output)));
+
+ ?>
+ ===Done===
+---EXPECT--
++--EXPECTF--
+ *** Testing gzcompress() : variation ***
+
+ -- Testing multiple compression --
+-string(32) "764809aef15bb34cb73ad49ecb600d99"
+-string(32) "eba942bc2061f23ea8688cc5101872a4"
++int(1%d)
++int(1%d)
+ ===Done===
+diff --git a/ext/zlib/tests/gzdeflate_basic1.phpt b/ext/zlib/tests/gzdeflate_basic1.phpt
+index 8ab0ee6243..59de23603e 100644
+--- a/ext/zlib/tests/gzdeflate_basic1.phpt
++++ b/ext/zlib/tests/gzdeflate_basic1.phpt
+@@ -33,7 +33,6 @@ $smallstring = "A small string to compress\n";
+ for($i = -1; $i < 10; $i++) {
+ echo "-- Compression level $i --\n";
+ $output = gzdeflate($data, $i);
+- var_dump(md5($output));
+ var_dump(strcmp(gzinflate($output), $data));
+ }
+
+@@ -41,85 +40,63 @@ for($i = -1; $i < 10; $i++) {
+ for($i = -1; $i < 10; $i++) {
+ echo "-- Compression level $i --\n";
+ $output = gzdeflate($smallstring, $i);
+- var_dump(bin2hex($output));
+ var_dump(strcmp(gzinflate($output), $smallstring));
+ }
+
+ // Calling gzdeflate() with just mandatory arguments
+ echo "\n-- Testing with no specified compression level --\n";
+-var_dump( bin2hex(gzdeflate($smallstring) ));
++$output = gzdeflate($smallstring);
++var_dump(strcmp(gzinflate($output), $smallstring));
+
+ ?>
+ ===Done===
+ --EXPECT--
+ *** Testing gzdeflate() : basic functionality ***
+ -- Compression level -1 --
+-string(32) "078554fe65e06f6ff01eab51cfc7ae9b"
+ int(0)
+ -- Compression level 0 --
+-string(32) "a71e54d2499aff9e48643cb1c260b60c"
+ int(0)
+ -- Compression level 1 --
+-string(32) "05e80f4dc0d422e1f333cbed555d381f"
+ int(0)
+ -- Compression level 2 --
+-string(32) "0fb33656e4ed0750f977df83246fce7a"
+ int(0)
+ -- Compression level 3 --
+-string(32) "bc6e9c1dccc3e951e006315ee669ee08"
+ int(0)
+ -- Compression level 4 --
+-string(32) "a61727d7a28c634470eb6e97a4a81b24"
+ int(0)
+ -- Compression level 5 --
+-string(32) "a2a1a14b7542c82e8943200d093d5f27"
+ int(0)
+ -- Compression level 6 --
+-string(32) "078554fe65e06f6ff01eab51cfc7ae9b"
+ int(0)
+ -- Compression level 7 --
+-string(32) "078554fe65e06f6ff01eab51cfc7ae9b"
+ int(0)
+ -- Compression level 8 --
+-string(32) "078554fe65e06f6ff01eab51cfc7ae9b"
+ int(0)
+ -- Compression level 9 --
+-string(32) "078554fe65e06f6ff01eab51cfc7ae9b"
+ int(0)
+ -- Compression level -1 --
+-string(58) "735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee60200"
+ int(0)
+ -- Compression level 0 --
+-string(64) "011b00e4ff4120736d616c6c20737472696e6720746f20636f6d70726573730a"
+ int(0)
+ -- Compression level 1 --
+-string(58) "735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee60200"
+ int(0)
+ -- Compression level 2 --
+-string(58) "735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee60200"
+ int(0)
+ -- Compression level 3 --
+-string(58) "735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee60200"
+ int(0)
+ -- Compression level 4 --
+-string(58) "735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee60200"
+ int(0)
+ -- Compression level 5 --
+-string(58) "735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee60200"
+ int(0)
+ -- Compression level 6 --
+-string(58) "735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee60200"
+ int(0)
+ -- Compression level 7 --
+-string(58) "735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee60200"
+ int(0)
+ -- Compression level 8 --
+-string(58) "735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee60200"
+ int(0)
+ -- Compression level 9 --
+-string(58) "735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee60200"
+ int(0)
+
+ -- Testing with no specified compression level --
+-string(58) "735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee60200"
++int(0)
+ ===Done===
+diff --git a/ext/zlib/tests/gzdeflate_variation1.phpt b/ext/zlib/tests/gzdeflate_variation1.phpt
+index 7993abb529..42bfaa1033 100644
+--- a/ext/zlib/tests/gzdeflate_variation1.phpt
++++ b/ext/zlib/tests/gzdeflate_variation1.phpt
+@@ -22,15 +22,15 @@ echo "*** Testing gzdeflate() : variation ***\n";
+
+ echo "\n-- Testing multiple compression --\n";
+ $output = gzdeflate($data);
+-var_dump( md5($output));
+-var_dump(md5(gzdeflate($output)));
++var_dump(strlen($output));
++var_dump(strlen(gzdeflate($output)));
+
+ ?>
+ ===Done===
+---EXPECT--
++--EXPECTF--
+ *** Testing gzdeflate() : variation ***
+
+ -- Testing multiple compression --
+-string(32) "078554fe65e06f6ff01eab51cfc7ae9b"
+-string(32) "86b9f895ef1377da5269ec3cb2729f71"
++int(17%d)
++int(17%d)
+ ===Done===
+diff --git a/ext/zlib/tests/gzencode_basic1.phpt b/ext/zlib/tests/gzencode_basic1.phpt
+index dfb09cc2ed..fe1ec593bd 100644
+--- a/ext/zlib/tests/gzencode_basic1.phpt
++++ b/ext/zlib/tests/gzencode_basic1.phpt
+@@ -34,10 +34,7 @@ for($i = -1; $i < 10; $i++) {
+ echo "-- Compression level $i --\n";
+ $output = gzencode($data, $i);
+
+- // Clear OS byte before encode
+- $output[9] = "\x00";
+-
+- var_dump(md5($output));
++ var_dump(strcmp(gzdecode($output), $data)===0);
+ }
+
+ // Compressing a smaller string
+@@ -45,71 +42,70 @@ for($i = -1; $i < 10; $i++) {
+ echo "-- Compression level $i --\n";
+ $output = gzencode($smallstring, $i);
+
+- // Clear OS byte before encode
+- $output[9] = "\x00";
+-
+- var_dump(md5($output));
++ var_dump(strcmp(gzdecode($output), $smallstring)===0);
+ }
+
+ // Calling gzencode() with mandatory arguments
+ echo "\n-- Testing with no specified compression level --\n";
+-var_dump(bin2hex(gzencode($smallstring)));
++$output = gzencode($smallstring);
++var_dump(strcmp(gzdecode($output), $smallstring)===0);
+
+ echo "\n-- Testing gzencode with mode specified --\n";
+-var_dump(bin2hex(gzencode($smallstring, -1, FORCE_GZIP)));
++$outupt = gzencode($smallstring, -1, FORCE_GZIP);
++var_dump(strcmp(gzdecode($output), $smallstring)===0);
+
+ ?>
+ ===Done===
+ --EXPECTF--
+ *** Testing gzencode() : basic functionality ***
+ -- Compression level -1 --
+-string(32) "d9ede02415ce91d21e5a94274e2b9c42"
++bool(true)
+ -- Compression level 0 --
+-string(32) "bbf32d5508e5f1f4e6d42790489dae15"
++bool(true)
+ -- Compression level 1 --
+-string(32) "0bfaaa7a5a57f8fb533074fca6c85eeb"
++bool(true)
+ -- Compression level 2 --
+-string(32) "7ddbfed63a76c42808722b66f1c133fc"
++bool(true)
+ -- Compression level 3 --
+-string(32) "ca2b85d194dfa2a4e8a162b646c99265"
++bool(true)
+ -- Compression level 4 --
+-string(32) "cfe28033eaf260bc33ddc04b53d3ba39"
++bool(true)
+ -- Compression level 5 --
+-string(32) "ae357fada2b515422f8bea0aa3bcc48f"
++bool(true)
+ -- Compression level 6 --
+-string(32) "d9ede02415ce91d21e5a94274e2b9c42"
++bool(true)
+ -- Compression level 7 --
+-string(32) "d9ede02415ce91d21e5a94274e2b9c42"
++bool(true)
+ -- Compression level 8 --
+-string(32) "d9ede02415ce91d21e5a94274e2b9c42"
++bool(true)
+ -- Compression level 9 --
+-string(32) "0f220a09e9895bcb3a1308d2bc99cfdf"
++bool(true)
+ -- Compression level -1 --
+-string(32) "f77bd31e1e4dd11d12828fb661a08010"
++bool(true)
+ -- Compression level 0 --
+-string(32) "9c5005db88490d6fe102ea2c233b2872"
++bool(true)
+ -- Compression level 1 --
+-string(32) "d24ff7c4c20cef69b9c3abd603368db9"
++bool(true)
+ -- Compression level 2 --
+-string(32) "f77bd31e1e4dd11d12828fb661a08010"
++bool(true)
+ -- Compression level 3 --
+-string(32) "f77bd31e1e4dd11d12828fb661a08010"
++bool(true)
+ -- Compression level 4 --
+-string(32) "f77bd31e1e4dd11d12828fb661a08010"
++bool(true)
+ -- Compression level 5 --
+-string(32) "f77bd31e1e4dd11d12828fb661a08010"
++bool(true)
+ -- Compression level 6 --
+-string(32) "f77bd31e1e4dd11d12828fb661a08010"
++bool(true)
+ -- Compression level 7 --
+-string(32) "f77bd31e1e4dd11d12828fb661a08010"
++bool(true)
+ -- Compression level 8 --
+-string(32) "f77bd31e1e4dd11d12828fb661a08010"
++bool(true)
+ -- Compression level 9 --
+-string(32) "8849e9a1543c04b3f882b5ce20839ed2"
++bool(true)
+
+ -- Testing with no specified compression level --
+-string(94) "1f8b08000000000000%c%c735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee60200edc4e40b1b000000"
++bool(true)
+
+ -- Testing gzencode with mode specified --
+-string(94) "1f8b08000000000000%c%c735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee60200edc4e40b1b000000"
++bool(true)
+ ===Done===
+diff --git a/ext/zlib/tests/gzencode_variation1.phpt b/ext/zlib/tests/gzencode_variation1.phpt
+index 2f953168fa..4cd7f61849 100644
+--- a/ext/zlib/tests/gzencode_variation1.phpt
++++ b/ext/zlib/tests/gzencode_variation1.phpt
+@@ -33,9 +33,9 @@ var_dump(bin2hex(gzencode($output)));
+
+ ?>
+ ===Done===
+---EXPECT--
++--EXPECTF--
+ *** Testing gzencode() : variation ***
+
+ -- Testing multiple compression --
+-string(3658) "1f8b0800000000000003010e07f1f81f8b08000000000000036d574d6fe4c80dbdeb57d4ad2f3dfe01eb83e1ec22980e309b4562c067b64449159754dafab0b6e7d7e73d96da1e4c72184c4b2ab2c8f7c847fa25baabba98dc1a8b2b7c38bb324b713ee37f757f56cdc5c7f5b17b9d152f923b157c5ae335e0b75fedd0e2d781c6b98ea3a6ee05affe1dfc3a6527f8f09c52dcb38ba38bb5249934d6ecfe1e53a9ab76ff4c342cf2a64ed2028349fc9a8b139755685352acb82b9fbb67f8bade5cdcb698e1fcec94b7ceba3cb897e806cfc8114350dd1ebbdfa35b62d2478b0056d23ed809b9b95d696d91ce2aa97c911e3fa539c43f84c887554a4d125c9e63ff96711cc08c0866263cb37a0bbe2122ae8f6baecb2284abfb4ddf916db8354cddeef37c1afe5fa02fc7afb3db34f5b3acbdf2eb905490d8f38d7468d253a323d5ebb903760d7944d3b2024e834a99ddce77669bdd823cfbb8e899d4ad4c799677452e6029e80023a03b2374005590641f7d3877df2ad09f3c0e82a54d6a5644fd63049a37ed4bc362016fd9f51264f1e5c630727421ae930b7ed416e93e47b7c71a400390361ffbecb7561bb98f69b5da289e91becc27f08b3b724cb8704f9144d366431d0cb870c56b205deaa2e17636063761a911039fb7e4bf9f06c4f0aecd2ec80e8b41831ca7515e31286166458ea3ef71f2ce7cde2ae269c96d60525724a9c9170b713ed5750758f3cd2a361fc8b288fc92358ce884692e8ea0fe59bd969a0da2eed5831b715749eaae7178f3ebd30fb88c92105f367cce2c882955dc6bf8eca0d5d57540b3092894743ba0fd5b2dad021836191f1afc0bba14dde1642cb0b1aa6879c38907dcefa0720082b801bec61417469219175267dfa047df35b0bd1332001c28cdfafd3bcabe91e74368cdd8d8478e494c190e7ee90c67f2bde288e68ab6b15e883c995be4f8feb6c6dda4278e4f38578ddbdc7be36788daf0c3cb1d1819c73822f7000a0d1813fa94153b572315e51343b536bc64977dff163cebfd8418773261f524017e251fccc60ae29a5770ae097594d52e9c1229d87ce967a36401c46b69945afb249d101c9d420ffa9a123e232c20e76467d5d169202a2dd4c582949e013e745df7958d4b0cc4fd4377a737cd4feea7974070000f314d423e0634cb9a618fdf5dc64fd422181fd59c9230c9f6f9d18dc8fc23e9cccbc7188733b04aa57de83ebea0be3633cff5fa1ff83269be7f44f5a8d84550cc703255fd345dd402034d0b3e11a73ec6e3d4a77f4f685b614329f1b3132ae7af33d02e1e55e291fa6574b758d1f0200e7423dbc852211818043a7c9ce80aa9d59fce0401959f5ea2cf71fde90824f8c9192dbe9d329db143794675ddcf257dd7755273b67340414e3ccad12e3f661f8aad9cf9957dc1275d10a51d3934fa81e68dc6768fb8ee23e373936c8e13feab8b0f50d227f7af76f561fb0950f3d099bbc316c3892a42fb36806d8660e800fa4f43fd4b962d2097d71933a54b77ff948677848eb17bb3a88b621682cfb3bbb49cf42fed6b3944124ad8358ca688aa44dd5f2144c7c9ab16f25b9aca9654ef357ec9ad55c40d324d6cc3d9e3920b863c231d31a95d937fb5520f9c816c79b7dcecc593fb9593cc05a51ebb1eeddd5b49eb437769738d0f64adc579d372b8b7f7c0208487ee3915ebf5766e148ebd77cf4e01f3ec285047011e55838968b6494d517fe29224777b24dd3ddf933101695b102e87db805eef291b74dcfd91628fb2a53f93dbd2968ef2e598746c9204f89fba1f0246fc671610a0591806e46a1346f77c40d910a47c5e20ffb23f003c04b648327a4ed98032c1965bd35bb0044f5344248f56fdb99aa61d6451d68e33489a83bffbe6573541b2da5f64681ea12090f778b2075374778810f73965fa3626a9d41f4df2f83f7c34658cec921b5a9bde49dd5007ec882b02adc514f81aa85898b5cc98e1b137733c0a8789b7f5648d2d231b80bf74978f25d61ce08a8abd11801fd8f995e066676307192ff7641f1cc6e0dee68565b8b22ac3889cd067bf732754a6b270af1044c6a8776811a4f6d8bd0477a9f516064201b920b92d7cd4dc7eee13e6b3eb3528a82f9abb3f388ebe6a8f871393461b73816ec54c99d604174bc5a6801de13908f86aea6a7d0fea107d682bcf1ec348b83872e6b8a316ecd02eb8f8dc86a609bf59a2dd03f1dfa4079436d55e24617be1a2854d008b2b2b1705e2078a7f3946318df1c24f6bf70d4b456eca286ec2b585b28262cc048a098c3e2d5f325a92bb36f691afdc14c822da1b116c9c1c07bb362eb0a04b78834c812134230ebf2044ac2e3c0e3ad00f848dc5010f3bf917ec2fc700b7bf26dacea8440620e04f90f4d97d6dd77cfde8a05c7d3930f1e5811fb8ec5c70964dcc8187ec90e32fdd6b64eec7586413b7d55bed65c4cce39a9b6c15e70e9da94e53fc904e6286f01f5b5562c94211befbc23507e01b2a3865e2f45b5d7b591f290087a5605b82495b4e393f31aa5b37211ec40241a746d903c5eebf117a4d3ddb0d00007b64cbc70e070000"
++string(36%d) "%s"
+ ===Done===
+diff --git a/ext/zlib/tests/gzinflate-bug42663.phpt b/ext/zlib/tests/gzinflate-bug42663.phpt
+index 4f0ca9fa7f..7127eccfdb 100644
+--- a/ext/zlib/tests/gzinflate-bug42663.phpt
++++ b/ext/zlib/tests/gzinflate-bug42663.phpt
+@@ -19,7 +19,7 @@ var_dump(gzinflate($truncated));
+ ?>
+ --EXPECTF--
+ int(168890)
+-int(66743)
++int(667%d)
+ int(65535)
+
+ Warning: gzinflate(): data error in %s on line %d
+diff --git a/ext/zlib/tests/zlib_filter_deflate.phpt b/ext/zlib/tests/zlib_filter_deflate.phpt
+index c8e54cb551..9cfa6bb889 100644
+--- a/ext/zlib/tests/zlib_filter_deflate.phpt
++++ b/ext/zlib/tests/zlib_filter_deflate.phpt
+@@ -13,5 +13,5 @@ fwrite($fp, $text);
+ fclose($fp);
+
+ ?>
+---EXPECT--
+-HctBDoAgDETRq8zOjfEeHKOGATG0TRpC4u1Vdn/xX4IoxkVMxgP1zA4vkJVhULk9UGkM6TvSNolmxUNlNLePVQ45O3eINf0fsQxtCxwv
++--EXPECTF--
++HctB%s
diff --git a/php74.spec b/php74.spec
index 85f2135..16be05b 100644
--- a/php74.spec
+++ b/php74.spec
@@ -109,7 +109,7 @@
Summary: PHP scripting language for creating dynamic web sites
Name: php
Version: %{upver}%{?rcver:~%{rcver}}
-Release: 11%{?dist}
+Release: 13%{?dist}
# All files licensed under PHP version 3.01, except
# Zend is licensed under Zend
# TSRM is licensed under BSD
@@ -189,6 +189,8 @@ Patch206: php-cve-2023-3824.patch
Patch300: php-7.0.10-datetests.patch
# Make test slower
Patch301: php-7.4.33-tests.patch
+# For zlib-ng
+Patch302: php-7.4.33-zlib-tests.patch
# WIP
@@ -1200,6 +1202,7 @@ rm ext/openssl/tests/p12_with_extra_certs.p12
# Fixes for tests related to tzdata
%patch -P300 -p1 -b .datetests
%patch -P301 -p1 -b .tests
+%patch -P302 -p1 -b .zlibng
# WIP patch
@@ -2214,6 +2217,12 @@ EOF
%changelog
+* Wed Mar 6 2024 Remi Collet <remi@remirepo.net> - 7.4.33-13
+- patch test suite for zlib-ng
+
+* Mon Feb 19 2024 Remi Collet <remi@remirepo.net> - 7.4.33-12
+- more build patch for GCC 14
+
* Wed Feb 14 2024 Remi Collet <remi@remirepo.net> - 7.4.33-11
- add build patch for GCC 14
- use oracle client library version 21.13 on x86_64