mirror of
https://github.com/php/php-src.git
synced 2026-03-26 09:12:14 +01:00
Apparently, breakpoints and watchpoints are practically disabled if run with OPcache JIT under Windows, so we mark the affected tests as xfail in that case for the time being.
60 lines
1.1 KiB
PHP
60 lines
1.1 KiB
PHP
--TEST--
|
|
Test simple recursive watchpoint
|
|
--SKIPIF--
|
|
<?php
|
|
if (PHP_INT_SIZE == 4) {
|
|
die("xfail There may be flaws in the implementation of watchpoints that cause failures");
|
|
}
|
|
if (PHP_OS_FAMILY === 'Windows' && ini_get('opcache.jit') && ini_get('opcache.jit_buffer_size')) {
|
|
die('xfail breakpoint/watchpoint issues with JIT on Windows');
|
|
}
|
|
if (getenv('SKIP_ASAN')) {
|
|
die("skip intentionally causes segfaults");
|
|
}
|
|
?>
|
|
--INI--
|
|
opcache.optimization_level=0
|
|
--PHPDBG--
|
|
b 3
|
|
r
|
|
w r $b
|
|
c
|
|
|
|
|
|
|
|
q
|
|
--EXPECTF--
|
|
[Successful compilation of %s]
|
|
prompt> [Breakpoint #0 added at %s:3]
|
|
prompt> [Breakpoint #0 at %s:3, hits: 1]
|
|
>00003: $a = 1;
|
|
00004: $b = [$a];
|
|
00005:
|
|
prompt> [Added recursive watchpoint #0 for $b]
|
|
prompt> [Breaking on watchpoint $b]
|
|
Old value:
|
|
New value: Array ([0] => 1)
|
|
>00006: unset($b);
|
|
00007: $b = 2;
|
|
00008:
|
|
prompt> [Breaking on watchpoint $b]
|
|
Old value inaccessible or destroyed
|
|
New value:
|
|
>00007: $b = 2;
|
|
00008:
|
|
prompt> [Breaking on watchpoint $b]
|
|
Old value:
|
|
New value: 2
|
|
>00008:
|
|
prompt> [$b has been removed, removing watchpoint recursively]
|
|
[Script ended normally]
|
|
prompt>
|
|
--FILE--
|
|
<?php
|
|
|
|
$a = 1;
|
|
$b = [$a];
|
|
|
|
unset($b);
|
|
$b = 2;
|