mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00

Move more low-hanging fruit, creating new directories for the tests for: * comparisons * dynamic calls * error messages * `error_reporting()` * exceptions * `foreach()` * garbage collection * group `use` statements * heredoc and nowdoc * `goto` jumps * late static binding * magic methods * namespaces * numeric literal separators * objects * `settype()` * cleaning of temporary values * `unset()` Additionally, move some tests into the existing subdirectory for `list()` tests. Drive-by fixes of some test numbers in the names of the `goto` tests. Work towards GH-15631
42 lines
807 B
PHP
42 lines
807 B
PHP
--TEST--
|
|
Make sure exceptions during include/require stating are properly propagated
|
|
--FILE--
|
|
<?php
|
|
|
|
class StreamWrapper {
|
|
public $context;
|
|
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
|