[PHP-CVS] [php-src] master: ext/zip: applied fixers to improve test robustness (#23034)
[email protected] (NickSdot via GitHub) Tue, 4 Aug 2026 15:59:23 +0000
| Newsgroups | php.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: NickSdot (NickSdot)
Committer: GitHub (web-flow)
Pusher: LamentXU123
Date: 2026-08-04T23:59:20+08:00
Commit: https://github.com/php/php-src/commit/3fa8c166bd04c4d6414212fb32703e35d78f78c9
Raw diff: https://github.com/php/php-src/commit/3fa8c166bd04c4d6414212fb32703e35d78f78c9.diff
ext/zip: applied fixers to improve test robustness (#23034)
Changed paths:
M ext/zip/tests/ZipArchive_closeString_error.phpt
M ext/zip/tests/bug72434.phpt
M ext/zip/tests/bug_gh8781.phpt
M ext/zip/tests/doubleclose.phpt
M ext/zip/tests/gh19932.phpt
M ext/zip/tests/gh21682.phpt
M ext/zip/tests/gh21682_subclass_no_overrides.phpt
M ext/zip/tests/oo_addglob2.phpt
M ext/zip/tests/oo_getcomment.phpt
M ext/zip/tests/oo_getexternalattributesname_error.phpt
M ext/zip/tests/oo_open.phpt
M ext/zip/tests/oo_readonly_properties.phpt
M ext/zip/tests/oo_setcomment_error.phpt
M ext/zip/tests/oo_setcompression.phpt
M ext/zip/tests/oo_setcompression_64bit.phpt
M ext/zip/tests/zip_entry_close.phpt
M ext/zip/tests/zip_open_error.phpt
Diff:
diff --git a/ext/zip/tests/ZipArchive_closeString_error.phpt b/ext/zip/tests/ZipArchive_closeString_error.phpt
index d5dca14a97fc..34309078727d 100644
--- a/ext/zip/tests/ZipArchive_closeString_error.phpt
+++ b/ext/zip/tests/ZipArchive_closeString_error.phpt
@@ -11,7 +11,7 @@ var_dump($zip->open(__DIR__ . '/test.zip'));
try {
$zip->closeString();
} catch (Error $e) {
- echo $e->getMessage() . "\n";
+ echo $e::class, ': ', $e->getMessage(), "\n";
}
echo "2.\n";
@@ -21,7 +21,7 @@ echo $zip->getStatusString() . "\n";
try {
$zip->closeString();
} catch (Error $e) {
- echo $e->getMessage() . "\n";
+ echo $e::class, ': ', $e->getMessage(), "\n";
}
echo "3.\n";
@@ -31,17 +31,17 @@ echo gettype($zip->closeString()) . "\n";
try {
$zip->closeString();
} catch (Error $e) {
- echo $e->getMessage() . "\n";
+ echo $e::class, ': ', $e->getMessage(), "\n";
}
?>
--EXPECT--
1.
bool(true)
-ZipArchive::closeString can only be called on an archive opened with ZipArchive::openString
+Error: ZipArchive::closeString can only be called on an archive opened with ZipArchive::openString
2.
Not a zip archive
-Invalid or uninitialized Zip object
+ValueError: Invalid or uninitialized Zip object
3.
string
-Invalid or uninitialized Zip object
+ValueError: Invalid or uninitialized Zip object
diff --git a/ext/zip/tests/bug72434.phpt b/ext/zip/tests/bug72434.phpt
index e2ccebad3754..842ad2aa2b89 100644
--- a/ext/zip/tests/bug72434.phpt
+++ b/ext/zip/tests/bug72434.phpt
@@ -10,8 +10,8 @@ try {
$unserialized_payload = unserialize($serialized_payload);
var_dump($unserialized_payload);
} catch (Exception $e) {
- echo $e->getMessage() . "\n";
+ echo $e::class, ': ', $e->getMessage(), "\n";
}
?>
--EXPECT--
-Unserialization of 'ZipArchive' is not allowed, override __serialize() and __unserialize() to implement it
+Exception: Unserialization of 'ZipArchive' is not allowed, override __serialize() and __unserialize() to implement it
diff --git a/ext/zip/tests/bug_gh8781.phpt b/ext/zip/tests/bug_gh8781.phpt
index 31fac9bc6133..196e11630ef9 100644
--- a/ext/zip/tests/bug_gh8781.phpt
+++ b/ext/zip/tests/bug_gh8781.phpt
@@ -16,4 +16,3 @@ var_dump(is_file($file));
--EXPECT--
bool(true)
bool(false)
-
diff --git a/ext/zip/tests/doubleclose.phpt b/ext/zip/tests/doubleclose.phpt
index 611a3b713f84..6ea24e270f57 100644
--- a/ext/zip/tests/doubleclose.phpt
+++ b/ext/zip/tests/doubleclose.phpt
@@ -14,7 +14,7 @@ var_dump(zip_close($zip));
try {
var_dump(zip_close($zip));
} catch (TypeError $e) {
- echo $e->getMessage(), "\n";
+ echo $e::class, ': ', $e->getMessage(), "\n";
}
echo "Object\n";
@@ -27,7 +27,7 @@ if ($zip->status == ZIPARCHIVE::ER_OK) {
try {
$zip->close();
} catch (ValueError $err) {
- echo $err->getMessage(), PHP_EOL;
+ echo $err::class, ': ', $err->getMessage(), PHP_EOL;
}
} else {
die("Failure");
@@ -44,8 +44,8 @@ Deprecated: Function zip_close() is deprecated since 8.0, use ZipArchive::close(
NULL
Deprecated: Function zip_close() is deprecated since 8.0, use ZipArchive::close() instead in %s on line %d
-zip_close(): supplied resource is not a valid Zip Directory resource
+TypeError: zip_close(): supplied resource is not a valid Zip Directory resource
Object
bool(true)
-Invalid or uninitialized Zip object
+ValueError: Invalid or uninitialized Zip object
Done
diff --git a/ext/zip/tests/gh19932.phpt b/ext/zip/tests/gh19932.phpt
index 760fa1c9e766..766ed38b991b 100644
--- a/ext/zip/tests/gh19932.phpt
+++ b/ext/zip/tests/gh19932.phpt
@@ -22,4 +22,3 @@ echo "OK";
?>
--EXPECT--
OK
-
diff --git a/ext/zip/tests/gh21682.phpt b/ext/zip/tests/gh21682.phpt
index ee09c73e5c4d..cee4e8732b1d 100644
--- a/ext/zip/tests/gh21682.phpt
+++ b/ext/zip/tests/gh21682.phpt
@@ -9,8 +9,8 @@ try {
serialize($a);
echo "ERROR: should have thrown\n";
} catch (\Exception $e) {
- echo $e->getMessage() . "\n";
+ echo $e::class, ': ', $e->getMessage(), "\n";
}
?>
--EXPECT--
-Serialization of 'ZipArchive' is not allowed, override __serialize() and __unserialize() to implement it
+Exception: Serialization of 'ZipArchive' is not allowed, override __serialize() and __unserialize() to implement it
diff --git a/ext/zip/tests/gh21682_subclass_no_overrides.phpt b/ext/zip/tests/gh21682_subclass_no_overrides.phpt
index 04fb49d9848e..ff06a668da26 100644
--- a/ext/zip/tests/gh21682_subclass_no_overrides.phpt
+++ b/ext/zip/tests/gh21682_subclass_no_overrides.phpt
@@ -11,16 +11,16 @@ try {
serialize($zip);
echo "ERROR: should have thrown\n";
} catch (\Exception $e) {
- echo $e->getMessage() . "\n";
+ echo $e::class, ': ', $e->getMessage(), "\n";
}
try {
unserialize('O:5:"MyZip":0:{}');
echo "ERROR: should have thrown\n";
} catch (\Exception $e) {
- echo $e->getMessage() . "\n";
+ echo $e::class, ': ', $e->getMessage(), "\n";
}
?>
--EXPECT--
-Serialization of 'MyZip' is not allowed, override __serialize() and __unserialize() to implement it
-Unserialization of 'MyZip' is not allowed, override __serialize() and __unserialize() to implement it
+Exception: Serialization of 'MyZip' is not allowed, override __serialize() and __unserialize() to implement it
+Exception: Unserialization of 'MyZip' is not allowed, override __serialize() and __unserialize() to implement it
diff --git a/ext/zip/tests/oo_addglob2.phpt b/ext/zip/tests/oo_addglob2.phpt
index a98a22271205..298041cc0650 100644
--- a/ext/zip/tests/oo_addglob2.phpt
+++ b/ext/zip/tests/oo_addglob2.phpt
@@ -41,7 +41,7 @@ $options = [
try {
$zip->addGlob($dirname. 'bar.*', GLOB_BRACE, $options);
} catch (\ValueError $e) {
- echo $e->getMessage(), PHP_EOL;
+ echo $e::class, ': ', $e->getMessage(), PHP_EOL;
}
$options['comp_flags'] = 65536;
@@ -49,7 +49,7 @@ $options['comp_flags'] = 65536;
try {
$zip->addGlob($dirname. 'bar.*', GLOB_BRACE, $options);
} catch (\ValueError $e) {
- echo $e->getMessage(), PHP_EOL;
+ echo $e::class, ': ', $e->getMessage(), PHP_EOL;
}
$options['comp_flags'] = 5;
diff --git a/ext/zip/tests/oo_getcomment.phpt b/ext/zip/tests/oo_getcomment.phpt
index a43c5ae38a53..62915841e036 100644
--- a/ext/zip/tests/oo_getcomment.phpt
+++ b/ext/zip/tests/oo_getcomment.phpt
@@ -20,7 +20,7 @@ var_dump($zip->getCommentIndex($idx));
try {
echo $zip->getCommentName('') . "\n";
} catch (\ValueError $e) {
- echo $e->getMessage() . \PHP_EOL;
+ echo $e::class, ': ', $e->getMessage(), PHP_EOL;
}
$zip->close();
@@ -30,4 +30,4 @@ $zip->close();
Zip archive comment
string(11) "foo comment"
string(11) "foo comment"
-ZipArchive::getCommentName(): Argument #1 ($name) must not be empty
+ValueError: ZipArchive::getCommentName(): Argument #1 ($name) must not be empty
diff --git a/ext/zip/tests/oo_getexternalattributesname_error.phpt b/ext/zip/tests/oo_getexternalattributesname_error.phpt
index 175fdc4b7bb8..40dc24308292 100644
--- a/ext/zip/tests/oo_getexternalattributesname_error.phpt
+++ b/ext/zip/tests/oo_getexternalattributesname_error.phpt
@@ -16,8 +16,8 @@ $b = ZipArchive::OPSYS_DEFAULT;
try {
$zip->getExternalAttributesName("", $a, $b);
} catch(ValueError $e) {
- echo $e->getMessage();
+ echo $e::class, ': ', $e->getMessage(), PHP_EOL;
}
?>
--EXPECT--
-ZipArchive::getExternalAttributesName(): Argument #1 ($name) must not be empty
+ValueError: ZipArchive::getExternalAttributesName(): Argument #1 ($name) must not be empty
diff --git a/ext/zip/tests/oo_open.phpt b/ext/zip/tests/oo_open.phpt
index 44fa46a9a6ea..7352d6fc20f2 100644
--- a/ext/zip/tests/oo_open.phpt
+++ b/ext/zip/tests/oo_open.phpt
@@ -26,7 +26,7 @@ $zip = new ZipArchive;
try {
$zip->open('');
} catch (\ValueError $e) {
- echo $e->getMessage() . \PHP_EOL;
+ echo $e::class, ': ', $e->getMessage(), PHP_EOL;
}
if (!$zip->open($dirname . 'test.zip')) {
@@ -42,5 +42,5 @@ if ($zip->status == ZIPARCHIVE::ER_OK) {
--EXPECT--
ER_OPEN: ok
create: ok
-ZipArchive::open(): Argument #1 ($filename) must not be empty
+ValueError: ZipArchive::open(): Argument #1 ($filename) must not be empty
OK
diff --git a/ext/zip/tests/oo_readonly_properties.phpt b/ext/zip/tests/oo_readonly_properties.phpt
index 40eb29f68a7c..385b7de0e850 100644
--- a/ext/zip/tests/oo_readonly_properties.phpt
+++ b/ext/zip/tests/oo_readonly_properties.phpt
@@ -10,13 +10,13 @@ $zip = new ZipArchive();
try {
$zip->lastId = 1;
} catch (Error $exception) {
- echo $exception->getMessage() . "\n";
+ echo $exception::class, ': ', $exception->getMessage(), "\n";
}
try {
$zip->lastId += 1;
} catch (Error $exception) {
- echo $exception->getMessage() . "\n";
+ echo $exception::class, ': ', $exception->getMessage(), "\n";
}
var_dump($zip->lastId);
@@ -24,7 +24,7 @@ var_dump($zip->lastId);
try {
$zip->status = 1;
} catch (Error $exception) {
- echo $exception->getMessage() . "\n";
+ echo $exception::class, ': ', $exception->getMessage(), "\n";
}
var_dump($zip->status);
@@ -32,7 +32,7 @@ var_dump($zip->status);
try {
$zip->statusSys = 1;
} catch (Error $exception) {
- echo $exception->getMessage() . "\n";
+ echo $exception::class, ': ', $exception->getMessage(), "\n";
}
var_dump($zip->statusSys);
@@ -40,7 +40,7 @@ var_dump($zip->statusSys);
try {
$zip->numFiles = 1;
} catch (Error $exception) {
- echo $exception->getMessage() . "\n";
+ echo $exception::class, ': ', $exception->getMessage(), "\n";
}
var_dump($zip->numFiles);
@@ -48,7 +48,7 @@ var_dump($zip->numFiles);
try {
$zip->filename = "a";
} catch (Error $exception) {
- echo $exception->getMessage() . "\n";
+ echo $exception::class, ': ', $exception->getMessage(), "\n";
}
var_dump($zip->filename);
@@ -56,23 +56,23 @@ var_dump($zip->filename);
try {
$zip->comment = "a";
} catch (Error $exception) {
- echo $exception->getMessage() . "\n";
+ echo $exception::class, ': ', $exception->getMessage(), "\n";
}
var_dump($zip->comment);
?>
--EXPECT--
-Cannot write read-only property ZipArchive::$lastId
-Cannot write read-only property ZipArchive::$lastId
+Error: Cannot write read-only property ZipArchive::$lastId
+Error: Cannot write read-only property ZipArchive::$lastId
int(-1)
-Cannot write read-only property ZipArchive::$status
+Error: Cannot write read-only property ZipArchive::$status
int(0)
-Cannot write read-only property ZipArchive::$statusSys
+Error: Cannot write read-only property ZipArchive::$statusSys
int(0)
-Cannot write read-only property ZipArchive::$numFiles
+Error: Cannot write read-only property ZipArchive::$numFiles
int(0)
-Cannot write read-only property ZipArchive::$filename
+Error: Cannot write read-only property ZipArchive::$filename
string(0) ""
-Cannot write read-only property ZipArchive::$comment
+Error: Cannot write read-only property ZipArchive::$comment
string(0) ""
diff --git a/ext/zip/tests/oo_setcomment_error.phpt b/ext/zip/tests/oo_setcomment_error.phpt
index 82b718ee1872..f94ba2282520 100644
--- a/ext/zip/tests/oo_setcomment_error.phpt
+++ b/ext/zip/tests/oo_setcomment_error.phpt
@@ -21,25 +21,25 @@ $longComment = str_repeat('a', 0x10000);
try {
var_dump($zip->setArchiveComment($longComment));
} catch (\ValueError $e) {
- echo $e->getMessage() . \PHP_EOL;
+ echo $e::class, ': ', $e->getMessage(), PHP_EOL;
}
try {
var_dump($zip->setCommentName('entry1.txt', $longComment));
} catch (\ValueError $e) {
- echo $e->getMessage() . \PHP_EOL;
+ echo $e::class, ': ', $e->getMessage(), PHP_EOL;
}
try {
var_dump($zip->setCommentIndex(1, $longComment));
} catch (\ValueError $e) {
- echo $e->getMessage() . \PHP_EOL;
+ echo $e::class, ': ', $e->getMessage(), PHP_EOL;
}
$zip->close();
?>
--EXPECT--
-ZipArchive::setArchiveComment(): Argument #1 ($comment) must be less than 65535 bytes
-ZipArchive::setCommentName(): Argument #2 ($comment) must be less than 65535 bytes
-ZipArchive::setCommentIndex(): Argument #2 ($comment) must be less than 65535 bytes
+ValueError: ZipArchive::setArchiveComment(): Argument #1 ($comment) must be less than 65535 bytes
+ValueError: ZipArchive::setCommentName(): Argument #2 ($comment) must be less than 65535 bytes
+ValueError: ZipArchive::setCommentIndex(): Argument #2 ($comment) must be less than 65535 bytes
--CLEAN--
<?php
@unlink(__DIR__ . '/__tmp_oo_set_comment_error.zip');
diff --git a/ext/zip/tests/oo_setcompression.phpt b/ext/zip/tests/oo_setcompression.phpt
index 1b7e817688dd..663345ef16a5 100644
--- a/ext/zip/tests/oo_setcompression.phpt
+++ b/ext/zip/tests/oo_setcompression.phpt
@@ -31,13 +31,13 @@ var_dump($zip->setCompressionName('entry4.txt', ZipArchive::CM_DEFLATE));
try {
$zip->setCompressionName('entry5.txt', PHP_INT_MIN);
} catch (\ValueError $e) {
- echo $e->getMessage(), PHP_EOL;
+ echo $e::class, ': ', $e->getMessage(), PHP_EOL;
}
try {
$zip->setCompressionIndex(4, PHP_INT_MIN);
} catch (\ValueError $e) {
- echo $e->getMessage(), PHP_EOL;
+ echo $e::class, ': ', $e->getMessage(), PHP_EOL;
}
var_dump($zip->setCompressionIndex(4, ZipArchive::CM_STORE));
@@ -69,8 +69,8 @@ unlink($tmpfile);
bool(true)
bool(true)
bool(true)
-ZipArchive::setCompressionName(): Argument #2 ($method) must be between -1 and %d
-ZipArchive::setCompressionIndex(): Argument #2 ($method) must be between -1 and %d
+ValueError: ZipArchive::setCompressionName(): Argument #2 ($method) must be between -1 and %d
+ValueError: ZipArchive::setCompressionIndex(): Argument #2 ($method) must be between -1 and %d
bool(true)
bool(true)
bool(true)
diff --git a/ext/zip/tests/oo_setcompression_64bit.phpt b/ext/zip/tests/oo_setcompression_64bit.phpt
index cb093e8ccfc9..70de8fade443 100644
--- a/ext/zip/tests/oo_setcompression_64bit.phpt
+++ b/ext/zip/tests/oo_setcompression_64bit.phpt
@@ -14,16 +14,16 @@ $zip = new ZipArchive;
try {
$zip->setCompressionName('entry5.txt', PHP_INT_MAX);
} catch (\ValueError $e) {
- echo $e->getMessage(), PHP_EOL;
+ echo $e::class, ': ', $e->getMessage(), PHP_EOL;
}
try {
$zip->setCompressionIndex(4, PHP_INT_MAX);
} catch (\ValueError $e) {
- echo $e->getMessage(), PHP_EOL;
+ echo $e::class, ': ', $e->getMessage(), PHP_EOL;
}
?>
--EXPECTF--
-ZipArchive::setCompressionName(): Argument #2 ($method) must be between -1 and %d
-ZipArchive::setCompressionIndex(): Argument #2 ($method) must be between -1 and %d
+ValueError: ZipArchive::setCompressionName(): Argument #2 ($method) must be between -1 and %d
+ValueError: ZipArchive::setCompressionIndex(): Argument #2 ($method) must be between -1 and %d
diff --git a/ext/zip/tests/zip_entry_close.phpt b/ext/zip/tests/zip_entry_close.phpt
index 8e05c762f771..bdfbeea67831 100644
--- a/ext/zip/tests/zip_entry_close.phpt
+++ b/ext/zip/tests/zip_entry_close.phpt
@@ -11,7 +11,7 @@ echo "entry_close: "; var_dump(zip_entry_close($entry));
try {
echo "entry_close: "; var_dump(zip_entry_close($entry));
} catch (TypeError $e) {
- echo $e->getMessage(), "\n";
+ echo $e::class, ': ', $e->getMessage(), "\n";
}
zip_close($zip);
?>
@@ -28,7 +28,7 @@ Deprecated: Function zip_entry_close() is deprecated since 8.0 in %s on line %d
bool(true)
entry_close:
Deprecated: Function zip_entry_close() is deprecated since 8.0 in %s on line %d
-zip_entry_close(): supplied resource is not a valid Zip Entry resource
+TypeError: zip_entry_close(): supplied resource is not a valid Zip Entry resource
Deprecated: Function zip_close() is deprecated since 8.0, use ZipArchive::close() instead in %s on line %d
Done
diff --git a/ext/zip/tests/zip_open_error.phpt b/ext/zip/tests/zip_open_error.phpt
index 2e43ac29713b..24f049647f0f 100644
--- a/ext/zip/tests/zip_open_error.phpt
+++ b/ext/zip/tests/zip_open_error.phpt
@@ -11,7 +11,7 @@ echo "Test case 1:";
try {
$zip = zip_open("");
} catch (\ValueError $e) {
- echo $e->getMessage() . \PHP_EOL;
+ echo $e::class, ': ', $e->getMessage(), PHP_EOL;
}
echo "Test case 2:\n";
@@ -21,7 +21,7 @@ echo is_resource($zip) ? "OK" : "Failure";
--EXPECTF--
Test case 1:
Deprecated: Function zip_open() is deprecated since 8.0, use ZipArchive::open() instead in %s on line %d
-zip_open(): Argument #1 ($filename) must not be empty
+ValueError: zip_open(): Argument #1 ($filename) must not be empty
Test case 2:
Deprecated: Function zip_open() is deprecated since 8.0, use ZipArchive::open() instead in %s on line %d