summaryrefslogtreecommitdiff
path: root/Zend/tests/exception_during_include_stat.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/tests/exception_during_include_stat.phpt')
-rw-r--r--Zend/tests/exception_during_include_stat.phpt41
1 files changed, 41 insertions, 0 deletions
diff --git a/Zend/tests/exception_during_include_stat.phpt b/Zend/tests/exception_during_include_stat.phpt
new file mode 100644
index 0000000000..1927e7e251
--- /dev/null
+++ b/Zend/tests/exception_during_include_stat.phpt
@@ -0,0 +1,41 @@
+--TEST--
+Make sure exceptions during include/require stating are properly propagated
+--FILE--
+<?php
+
+class StreamWrapper {
+ public function url_stat($path, $flags) {
+ throw new Exception('stat failed');
+ }
+}
+
+stream_wrapper_register('test', StreamWrapper::class);
+set_include_path('test://foo:test://bar');
+
+try {
+ require_once 'doesnt_exist.php';
+} catch (Exception $e) {
+ echo $e->getMessage(), "\n";
+}
+try {
+ require 'doesnt_exist.php';
+} catch (Exception $e) {
+ echo $e->getMessage(), "\n";
+}
+try {
+ include_once 'doesnt_exist.php';
+} catch (Exception $e) {
+ echo $e->getMessage(), "\n";
+}
+try {
+ include 'doesnt_exist.php';
+} catch (Exception $e) {
+ echo $e->getMessage(), "\n";
+}
+
+?>
+--EXPECT--
+stat failed
+stat failed
+stat failed
+stat failed