1
0
mirror of https://github.com/php/php-src.git synced 2026-04-17 04:51:03 +02:00
Files
archived-php-src/ext/standard/tests/general_functions/proc_open02.phpt
Rasmus Lerdorf 331766c3bf This test was added to verify that bug 39322 was fixed, which the test
does test for and this works. However, it consistently failed because
it relied on a SIGHUP not terminating a sh -c /usr/bin/nohup sleep 50
process which doesn't work because the SIGHUP goes to the sh process
not the nohup'ed sleep process. So, I have sped up the test and removed
the nohup and instead of trying to SIGHUP I am just doing the equivalent
of a kill 0 on it to verify that the resource sticks around.
2011-09-07 18:09:34 +00:00

73 lines
1.1 KiB
PHP

--TEST--
proc_open
--SKIPIF--
<?php
if (!is_executable('/bin/sleep')) echo 'skip no sleep';
if (getenv('SKIP_SLOW_TESTS')) echo 'skip slow test';
?>
--FILE--
<?php
$ds = array(array('pipe', 'r'));
$cat = proc_open(
'/bin/sleep 2',
$ds,
$pipes
);
usleep(20000); // let the OS run the sleep process before sending the signal
var_dump(proc_terminate($cat, 0)); // status check
usleep(20000);
var_dump(proc_get_status($cat));
var_dump(proc_terminate($cat)); // now really quit it
usleep(20000);
var_dump(proc_get_status($cat));
proc_close($cat);
echo "Done!\n";
?>
--EXPECTF--
bool(true)
array(8) {
["command"]=>
string(12) "/bin/sleep 2"
["pid"]=>
int(%d)
["running"]=>
bool(true)
["signaled"]=>
bool(false)
["stopped"]=>
bool(false)
["exitcode"]=>
int(-1)
["termsig"]=>
int(0)
["stopsig"]=>
int(0)
}
bool(true)
array(8) {
["command"]=>
string(12) "/bin/sleep 2"
["pid"]=>
int(%d)
["running"]=>
bool(false)
["signaled"]=>
bool(true)
["stopped"]=>
bool(false)
["exitcode"]=>
int(-1)
["termsig"]=>
int(15)
["stopsig"]=>
int(0)
}
Done!