Commit 2f981224b02 for php.net

commit 2f981224b02d73b5ba8ed7d0e262dcd9c7ab8161
Author: NickSdot <32384907+NickSdot@users.noreply.github.com>
Date:   Sat Aug 22 20:03:25 2026 +0700

    ext/libxml: applied fixers to improve test robustness (#23024)

diff --git a/ext/libxml/tests/004.phpt b/ext/libxml/tests/004.phpt
index 718f8cbdc20..d5ba2bdb4a8 100644
--- a/ext/libxml/tests/004.phpt
+++ b/ext/libxml/tests/004.phpt
@@ -17,8 +17,8 @@
 foreach ($ctxs as $ctx) {
     try {
         var_dump(libxml_set_streams_context($ctx));
-    } catch (TypeError $e) {
-        echo $e->getMessage(), "\n";
+    } catch (Throwable $e) {
+        echo $e::class, ': ', $e->getMessage(), "\n";
     }
     $dom = new DOMDocument();
     var_dump($dom->load(__DIR__.'/test.xml'));
@@ -28,15 +28,15 @@

 ?>
 --EXPECT--
-libxml_set_streams_context(): Argument #1 ($context) must be of type resource, null given
+TypeError: libxml_set_streams_context(): Argument #1 ($context) must be of type resource, null given
 bool(true)
-libxml_set_streams_context(): Argument #1 ($context) must be of type resource, string given
+TypeError: libxml_set_streams_context(): Argument #1 ($context) must be of type resource, string given
 bool(true)
-libxml_set_streams_context(): Argument #1 ($context) must be of type resource, int given
+TypeError: libxml_set_streams_context(): Argument #1 ($context) must be of type resource, int given
 bool(true)
-libxml_set_streams_context(): Argument #1 ($context) must be of type resource, stdClass given
+TypeError: libxml_set_streams_context(): Argument #1 ($context) must be of type resource, stdClass given
 bool(true)
-libxml_set_streams_context(): Argument #1 ($context) must be of type resource, array given
+TypeError: libxml_set_streams_context(): Argument #1 ($context) must be of type resource, array given
 bool(true)
 NULL
 bool(true)
diff --git a/ext/libxml/tests/bug63389.phpt b/ext/libxml/tests/bug63389.phpt
index 90a209e7be1..422e03267dc 100644
--- a/ext/libxml/tests/bug63389.phpt
+++ b/ext/libxml/tests/bug63389.phpt
@@ -6,18 +6,18 @@
 <?php
 try {
     libxml_set_streams_context("a");
-} catch (TypeError $e) {
-    echo $e->getMessage(), "\n";
+} catch (Throwable $e) {
+    echo $e::class, ': ', $e->getMessage(), "\n";
 }
 $fp = fopen("php://input", "r");
 try {
     libxml_set_streams_context($fp);
-} catch (TypeError $e) {
-    echo $e->getMessage(), "\n";
+} catch (Throwable $e) {
+    echo $e::class, ': ', $e->getMessage(), "\n";
 }
 echo "okey";
 ?>
 --EXPECT--
-libxml_set_streams_context(): Argument #1 ($context) must be of type resource, string given
-libxml_set_streams_context(): supplied resource is not a valid Stream-Context resource
+TypeError: libxml_set_streams_context(): Argument #1 ($context) must be of type resource, string given
+TypeError: libxml_set_streams_context(): supplied resource is not a valid Stream-Context resource
 okey
diff --git a/ext/libxml/tests/libxml_get_external_entity_loader_error_callback_name.phpt b/ext/libxml/tests/libxml_get_external_entity_loader_error_callback_name.phpt
index 3dca273d595..d37ada1ab2b 100644
--- a/ext/libxml/tests/libxml_get_external_entity_loader_error_callback_name.phpt
+++ b/ext/libxml/tests/libxml_get_external_entity_loader_error_callback_name.phpt
@@ -32,9 +32,9 @@ public function handle($public, $system, $context) {
 try {
     var_dump($dd->validate());
 } catch (\Throwable $e) {
-    var_dump($e->getMessage());
+    echo $e::class, ': ', $e->getMessage(), "\n";
 }

 ?>
 --EXPECT--
-string(122) "DOMDocument::validate(): The user entity loader callback "Handler::handle" has returned a resource, but it is not a stream"
+TypeError: DOMDocument::validate(): The user entity loader callback "Handler::handle" has returned a resource, but it is not a stream
diff --git a/ext/libxml/tests/libxml_set_external_entity_loader_error1.phpt b/ext/libxml/tests/libxml_set_external_entity_loader_error1.phpt
index 050aa783068..1bfc64da26e 100644
--- a/ext/libxml/tests/libxml_set_external_entity_loader_error1.phpt
+++ b/ext/libxml/tests/libxml_set_external_entity_loader_error1.phpt
@@ -16,12 +16,12 @@
 try {
     var_dump($dd->validate());
 } catch (Throwable $e) {
-    echo "Exception: " . $e->getMessage() . "\n";
+    echo $e::class, ': ', $e->getMessage(), "\n";
 }

 echo "Done.\n";
 ?>
 --EXPECTF--
 bool(true)
-Exception: Too few arguments to function {closure:%s:%d}(), 3 passed and exactly 4 expected
+ArgumentCountError: Too few arguments to function {closure:%s:%d}(), 3 passed and exactly 4 expected
 Done.
diff --git a/ext/libxml/tests/libxml_set_external_entity_loader_error2.phpt b/ext/libxml/tests/libxml_set_external_entity_loader_error2.phpt
index 053551f5ff3..d8c574e86da 100644
--- a/ext/libxml/tests/libxml_set_external_entity_loader_error2.phpt
+++ b/ext/libxml/tests/libxml_set_external_entity_loader_error2.phpt
@@ -7,8 +7,8 @@
 try {
 	libxml_set_external_entity_loader('nonexistent_function');
 } catch (Throwable $e) {
-	echo "Exception: " . $e->getMessage() . "\n";
+	echo $e::class, ': ', $e->getMessage(), "\n";
 }
 ?>
 --EXPECT--
-Exception: libxml_set_external_entity_loader(): Argument #1 ($resolver_function) must be a valid callback or null, function "nonexistent_function" not found or invalid function name
+TypeError: libxml_set_external_entity_loader(): Argument #1 ($resolver_function) must be a valid callback or null, function "nonexistent_function" not found or invalid function name