diff --git a/test/repro/maintainer_array_all_any_enum_callback.php b/test/repro/maintainer_array_all_any_enum_callback.php deleted file mode 100644 index f0291feb88..0000000000 --- a/test/repro/maintainer_array_all_any_enum_callback.php +++ /dev/null @@ -1,9 +0,0 @@ - $v instanceof E)); -echo "\n"; -var_export(array_any([E::A, E::B], fn ($v) => $v instanceof E)); -echo "\n"; diff --git a/test/repro/maintainer_gap_array_first_empty_null.php b/test/repro/maintainer_gap_array_first_empty_null.php deleted file mode 100644 index 389e6fa278..0000000000 --- a/test/repro/maintainer_gap_array_first_empty_null.php +++ /dev/null @@ -1,13 +0,0 @@ -getFlags(), "\n"; - -$it2 = new ArrayIterator(['a' => 1], ArrayIterator::ARRAY_AS_PROPS); -echo $it2->getFlags(), "\n"; - -$it2->setFlags(ArrayIterator::STD_PROP_LIST); -echo $it2->getFlags(), "\n"; - -echo "ok\n"; diff --git a/test/repro/maintainer_gap_class_const_brace_deref.php b/test/repro/maintainer_gap_class_const_brace_deref.php deleted file mode 100644 index b01d34eb6c..0000000000 --- a/test/repro/maintainer_gap_class_const_brace_deref.php +++ /dev/null @@ -1,13 +0,0 @@ -x) { - echo 'fail block ', $copy->x, "\n"; - exit(1); -} - -$copy2 = clone ($src, with: ['x' => 3]); -if (3 !== $copy2->x) { - echo 'fail named ', $copy2->x, "\n"; - exit(1); -} - -echo "ok\n"; diff --git a/test/repro/maintainer_gap_date_create_parse_warning.php b/test/repro/maintainer_gap_date_create_parse_warning.php deleted file mode 100644 index bdd11a91d5..0000000000 --- a/test/repro/maintainer_gap_date_create_parse_warning.php +++ /dev/null @@ -1,34 +0,0 @@ -getMessage()."\n"); - exit(1); -} catch (Exception $e) { - echo $e->getMessage(), "\n"; -} diff --git a/test/repro/maintainer_gap_dateperiod_accessor_methods.php b/test/repro/maintainer_gap_dateperiod_accessor_methods.php deleted file mode 100644 index 259db56eaa..0000000000 --- a/test/repro/maintainer_gap_dateperiod_accessor_methods.php +++ /dev/null @@ -1,26 +0,0 @@ -getStartDate()->format('Y-m-d'); -$intervalOut = $period->getDateInterval()->format('P1D'); -$recurrencesOut = $period->getRecurrences(); - -if ('2020-01-01' !== $startOut) { - echo "start mismatch: {$startOut}\n"; - exit(1); -} -if ('P1D' !== $intervalOut) { - echo "interval mismatch: {$intervalOut}\n"; - exit(1); -} -if (3 !== $recurrencesOut) { - echo 'recurrences mismatch: '; - var_export($recurrencesOut); - echo "\n"; - exit(1); -} - -echo "ok\n"; diff --git a/test/repro/maintainer_gap_dirname_levels_named.php b/test/repro/maintainer_gap_dirname_levels_named.php deleted file mode 100644 index a6333385ec..0000000000 --- a/test/repro/maintainer_gap_dirname_levels_named.php +++ /dev/null @@ -1,17 +0,0 @@ -getMessage() . "\n"; - exit(0); -} diff --git a/test/repro/maintainer_gap_exists_ini_null_strict.php b/test/repro/maintainer_gap_exists_ini_null_strict.php deleted file mode 100644 index 82ea2a2aa6..0000000000 --- a/test/repro/maintainer_gap_exists_ini_null_strict.php +++ /dev/null @@ -1,21 +0,0 @@ -getMessage() in JIT loops (ExceptionBridge unwind). - } -} -try { - ini_set(null, '1'); - echo "fail: ini_set(null)\n"; - exit(1); -} catch (TypeError $e) { -} -echo "ok\n"; diff --git a/test/repro/maintainer_gap_extract_extr_skip_named.php b/test/repro/maintainer_gap_extract_extr_skip_named.php deleted file mode 100644 index d793deb15f..0000000000 --- a/test/repro/maintainer_gap_extract_extr_skip_named.php +++ /dev/null @@ -1,9 +0,0 @@ - 99, 'b' => 2], flags: EXTR_SKIP); -echo "n={$n}\n"; -echo "a={$a}\n"; -echo isset($b) ? "b={$b}\n" : "b=unset\n"; diff --git a/test/repro/maintainer_gap_fgetcsv_null_length.php b/test/repro/maintainer_gap_fgetcsv_null_length.php deleted file mode 100644 index 49e32d964a..0000000000 --- a/test/repro/maintainer_gap_fgetcsv_null_length.php +++ /dev/null @@ -1,9 +0,0 @@ -getMessage(), "\n"; -} catch (Throwable $e) { - echo 'fail:', get_class($e), ':', $e->getMessage(), "\n"; -} finally { - fclose($fp); -} diff --git a/test/repro/maintainer_gap_ftp_connection_class.php b/test/repro/maintainer_gap_ftp_connection_class.php deleted file mode 100644 index fd9f67f469..0000000000 --- a/test/repro/maintainer_gap_ftp_connection_class.php +++ /dev/null @@ -1,21 +0,0 @@ -getName()) { - echo 'fail: unexpected name '.$ref->getName()."\n"; - exit(1); -} - -echo "ok\n"; diff --git a/test/repro/maintainer_gap_getimagesize_non_image_notice.php b/test/repro/maintainer_gap_getimagesize_non_image_notice.php deleted file mode 100644 index e9887f1670..0000000000 --- a/test/repro/maintainer_gap_getimagesize_non_image_notice.php +++ /dev/null @@ -1,32 +0,0 @@ - 'v']); - echo "uncaught\n"; - exit(1); -} catch (TypeError $e) { - echo $e->getMessage(), "\n"; -} diff --git a/test/repro/maintainer_gap_incdec_null_aot_compile.php b/test/repro/maintainer_gap_incdec_null_aot_compile.php deleted file mode 100644 index a5789e0c42..0000000000 --- a/test/repro/maintainer_gap_incdec_null_aot_compile.php +++ /dev/null @@ -1,12 +0,0 @@ - 1])['a']; -error_reporting($prev); - -if (null !== $result) { - fwrite(STDERR, "expected null for missing key under @, got " . var_export($result, true) . PHP_EOL); - exit(1); -} - -echo "ok\n"; diff --git a/test/repro/maintainer_gap_inline_array_literal_dim_fetch.php b/test/repro/maintainer_gap_inline_array_literal_dim_fetch.php deleted file mode 100644 index 46e3b8e568..0000000000 --- a/test/repro/maintainer_gap_inline_array_literal_dim_fetch.php +++ /dev/null @@ -1,23 +0,0 @@ - 1])['a']; -if (1 !== $v) { - fwrite(STDERR, "expected 1, got " . var_export($v, true) . PHP_EOL); - exit(1); -} - -if (!isset(['a' => 1]['a'])) { - fwrite(STDERR, "isset inline literal dim-fetch expected true" . PHP_EOL); - exit(1); -} - -if (empty(['a' => 1]['a'])) { - fwrite(STDERR, "empty inline literal dim-fetch expected false" . PHP_EOL); - exit(1); -} - -echo "ok\n"; diff --git a/test/repro/maintainer_gap_method_exists_interface_class.php b/test/repro/maintainer_gap_method_exists_interface_class.php deleted file mode 100644 index 71388bbeeb..0000000000 --- a/test/repro/maintainer_gap_method_exists_interface_class.php +++ /dev/null @@ -1,7 +0,0 @@ -getMessage(), "\n"; -} - -try { - prev([1, 2, 3]); - echo "prev: no throw\n"; -} catch (Throwable $e) { - echo 'prev: ', get_class($e), ': ', $e->getMessage(), "\n"; -} - -$a = [1, 2, 3]; -echo 'var next: ', next($a), ' key: ', key($a), "\n"; diff --git a/test/repro/maintainer_gap_nullsafe_uninit_nullable.php b/test/repro/maintainer_gap_nullsafe_uninit_nullable.php deleted file mode 100644 index 48278a6239..0000000000 --- a/test/repro/maintainer_gap_nullsafe_uninit_nullable.php +++ /dev/null @@ -1,23 +0,0 @@ - on uninitialized nullable typed property (#16637, re-#5220). - */ - -class B { - public string $v = 'ok'; -} - -class A { - public ?B $b; -} - -$a = new A(); -echo $a->b?->v ?? 'null', "\n"; -try { - echo $a->b, "\n"; -} catch (Error $e) { - echo $e->getMessage(), "\n"; -} diff --git a/test/repro/maintainer_gap_openssl_pkey_lifecycle.php b/test/repro/maintainer_gap_openssl_pkey_lifecycle.php deleted file mode 100644 index 7ee2b0c715..0000000000 --- a/test/repro/maintainer_gap_openssl_pkey_lifecycle.php +++ /dev/null @@ -1,47 +0,0 @@ - 512, 'private_key_type' => OPENSSL_KEYTYPE_RSA]); -if (false === $key) { - fwrite(STDERR, "fail: openssl_pkey_new returned false\n"); - exit(1); -} - -$pem = ''; -if (!openssl_pkey_export($key, $pem)) { - fwrite(STDERR, "fail: openssl_pkey_export returned false\n"); - exit(1); -} -if (!str_contains($pem, 'BEGIN') || !str_contains($pem, 'PRIVATE KEY')) { - fwrite(STDERR, "fail: export missing PEM markers\n"); - exit(1); -} - -$loaded = openssl_pkey_get_private($pem); -if (false === $loaded) { - fwrite(STDERR, "fail: openssl_pkey_get_private returned false\n"); - exit(1); -} - -$data = 'pkey-lifecycle-probe'; -$signature = ''; -if (!openssl_sign($data, $signature, $loaded, OPENSSL_ALGO_SHA256)) { - fwrite(STDERR, "fail: openssl_sign with generated key\n"); - exit(1); -} - -echo "ok\n"; diff --git a/test/repro/maintainer_gap_parse_str_named_result.php b/test/repro/maintainer_gap_parse_str_named_result.php deleted file mode 100644 index dc7afbf6a7..0000000000 --- a/test/repro/maintainer_gap_parse_str_named_result.php +++ /dev/null @@ -1,6 +0,0 @@ -=1700)\n"); - exit(1); -} - -echo "ok len={$len}\n"; diff --git a/test/repro/maintainer_gap_pipe_operator_forward_84.php b/test/repro/maintainer_gap_pipe_operator_forward_84.php deleted file mode 100644 index 763093a595..0000000000 --- a/test/repro/maintainer_gap_pipe_operator_forward_84.php +++ /dev/null @@ -1,12 +0,0 @@ - fn ($v) => $v * 2; -if (10 !== $x) { - fwrite(STDERR, "fail: expected 10, got {$x}\n"); - exit(1); -} - -echo "ok\n"; diff --git a/test/repro/maintainer_gap_pow_invalid_operands.php b/test/repro/maintainer_gap_pow_invalid_operands.php deleted file mode 100644 index ddca5b4494..0000000000 --- a/test/repro/maintainer_gap_pow_invalid_operands.php +++ /dev/null @@ -1,18 +0,0 @@ -getMessage(), 'Unsupported operand types:')) { - echo 'fail: unexpected message: ', $e->getMessage(), "\n"; - exit(1); - } - } -} - -echo "ok\n"; diff --git a/test/repro/maintainer_gap_preg_match_negative_offset.php b/test/repro/maintainer_gap_preg_match_negative_offset.php deleted file mode 100644 index 9ccf7efa3a..0000000000 --- a/test/repro/maintainer_gap_preg_match_negative_offset.php +++ /dev/null @@ -1,29 +0,0 @@ - ['pipe', 'w'], 2 => ['pipe', 'w']]; -$proc = proc_open(['sleep', '1'], $descriptors, $pipes); -$st = proc_get_status(process: $proc); -$ok = is_array($st) && isset($st['pid']) && $st['pid'] > 0; -echo $ok ? "ok:{$st['pid']}\n" : "fail\n"; -foreach ($pipes as $p) { - fclose($p); -} -proc_close($proc); -exit($ok ? 0 : 1); diff --git a/test/repro/maintainer_gap_promoted_asymmetric_visibility.php b/test/repro/maintainer_gap_promoted_asymmetric_visibility.php deleted file mode 100644 index de0a629021..0000000000 --- a/test/repro/maintainer_gap_promoted_asymmetric_visibility.php +++ /dev/null @@ -1,9 +0,0 @@ -x, "\n"; diff --git a/test/repro/maintainer_gap_readline_info_keys.php b/test/repro/maintainer_gap_readline_info_keys.php deleted file mode 100644 index 176f52d455..0000000000 --- a/test/repro/maintainer_gap_readline_info_keys.php +++ /dev/null @@ -1,31 +0,0 @@ -rewind(); -$ref = new ReflectionGenerator($g); - -if ('gen' !== $ref->getFunction()->getName()) { - echo "fail: function name mismatch\n"; - exit(1); -} - -$line = $ref->getExecutingLine(); -if (!\is_int($line) || $line <= 0) { - echo 'fail: executing line='.var_export($line, true)."\n"; - exit(1); -} - -$file = $ref->getExecutingFile(); -if (!\is_string($file) || '' === $file) { - echo 'fail: executing file='.var_export($file, true)."\n"; - exit(1); -} - -if ($ref->getExecutingGenerator() !== $g) { - echo "fail: getExecutingGenerator identity\n"; - exit(1); -} - -try { - new ReflectionGenerator(new stdClass()); - echo "fail: expected TypeError for stdClass\n"; - exit(1); -} catch (TypeError $e) { - if (!str_contains($e->getMessage(), 'must be of type Generator')) { - echo 'fail: TypeError message='.$e->getMessage()."\n"; - exit(1); - } -} - -while ($g->valid()) { - $g->next(); -} - -try { - $ref->getExecutingLine(); - echo "fail: expected ReflectionException on terminated generator\n"; - exit(1); -} catch (ReflectionException $e) { - if (!str_contains($e->getMessage(), 'terminated Generator')) { - echo 'fail: ReflectionException message='.$e->getMessage()."\n"; - exit(1); - } -} - -echo "ok\n"; diff --git a/test/repro/maintainer_gap_sprintf_null_coerce.php b/test/repro/maintainer_gap_sprintf_null_coerce.php deleted file mode 100644 index e061fa1ac1..0000000000 --- a/test/repro/maintainer_gap_sprintf_null_coerce.php +++ /dev/null @@ -1,4 +0,0 @@ -getMessage(), "\n"; - exit(1); -} diff --git a/test/repro/maintainer_gap_str_starts_ends_with_named_haystack.php b/test/repro/maintainer_gap_str_starts_ends_with_named_haystack.php deleted file mode 100644 index bf0667b71c..0000000000 --- a/test/repro/maintainer_gap_str_starts_ends_with_named_haystack.php +++ /dev/null @@ -1,5 +0,0 @@ -getMessage(), "\n"; -} -fclose($h); diff --git a/test/repro/maintainer_gap_string_builtin_named_string_param.php b/test/repro/maintainer_gap_string_builtin_named_string_param.php deleted file mode 100644 index 021d118c29..0000000000 --- a/test/repro/maintainer_gap_string_builtin_named_string_param.php +++ /dev/null @@ -1,14 +0,0 @@ -getMessage()) { - fwrite(STDERR, "fail null msg: {$e->getMessage()}\n"); - exit(1); - } - if ('abc' !== $s) { - fwrite(STDERR, "fail null: string mutated to {$s}\n"); - exit(1); - } -} - -$s = 'abc'; -try { - $s[1] = ''; - fwrite(STDERR, "fail empty: mutated ".bin2hex($s)."\n"); - exit(1); -} catch (\Error $e) { - if ($msg !== $e->getMessage()) { - fwrite(STDERR, "fail empty msg: {$e->getMessage()}\n"); - exit(1); - } - if ('abc' !== $s) { - fwrite(STDERR, "fail empty: string mutated to {$s}\n"); - exit(1); - } -} - -$s = 'abc'; -$s[1] = 'x'; -if ('axc' !== $s) { - fwrite(STDERR, "fail char: got {$s}\n"); - exit(1); -} - -echo "ok\n"; diff --git a/test/repro/maintainer_gap_typed_const_array_82.php b/test/repro/maintainer_gap_typed_const_array_82.php deleted file mode 100644 index 38ee2374ac..0000000000 --- a/test/repro/maintainer_gap_typed_const_array_82.php +++ /dev/null @@ -1,6 +0,0 @@ - */ - public static array $calls = []; - - public function stream_metadata(string $path, int $option, mixed $value): bool - { - self::$calls[] = [$option, $value]; - - return true; - } -} - -stream_wrapper_register('testmeta', MetaStreamWrapper::class); - -$touchOk = touch('testmeta://foo'); -$chmodOk = chmod('testmeta://foo', 0644); - -if (!$touchOk || !$chmodOk) { - echo 'fail: touch=' . var_export($touchOk, true) . ' chmod=' . var_export($chmodOk, true) . "\n"; - exit(1); -} - -$options = array_column(MetaStreamWrapper::$calls, 0); -if (!in_array(STREAM_META_TOUCH, $options, true) || !in_array(STREAM_META_ACCESS, $options, true)) { - echo 'fail: expected STREAM_META_TOUCH and STREAM_META_ACCESS, got ' . var_export($options, true) . "\n"; - exit(1); -} - -echo "ok\n";