You've already forked qlg.tsgz.moe
Init Repo
This commit is contained in:
7
vendor/swoole/tests/swoole_process/echo.py
vendored
Executable file
7
vendor/swoole/tests/swoole_process/echo.py
vendored
Executable file
@ -0,0 +1,7 @@
|
||||
import sys
|
||||
|
||||
def main():
|
||||
s = raw_input()
|
||||
print "Python: " + s
|
||||
|
||||
main()
|
24
vendor/swoole/tests/swoole_process/process_exec.phpt
vendored
Executable file
24
vendor/swoole/tests/swoole_process/process_exec.phpt
vendored
Executable file
@ -0,0 +1,24 @@
|
||||
--TEST--
|
||||
swoole_process: exec
|
||||
--SKIPIF--
|
||||
<?php require __DIR__ . '/../include/skipif.inc'; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
require_once __DIR__ . '/../include/bootstrap.php';
|
||||
|
||||
$process = new swoole_process('python_process', true);
|
||||
$pid = $process->start();
|
||||
|
||||
function python_process(swoole_process $worker)
|
||||
{
|
||||
$worker->exec('/usr/bin/python', array(__DIR__ . "/echo.py"));
|
||||
}
|
||||
|
||||
$process->write("Hello World\n");
|
||||
echo $process->read();
|
||||
?>
|
||||
Done
|
||||
--EXPECTREGEX--
|
||||
Python: Hello World
|
||||
Done.*
|
||||
--CLEAN--
|
33
vendor/swoole/tests/swoole_process/process_msgqueue.phpt
vendored
Executable file
33
vendor/swoole/tests/swoole_process/process_msgqueue.phpt
vendored
Executable file
@ -0,0 +1,33 @@
|
||||
--TEST--
|
||||
swoole_process: sysv msgqueue
|
||||
--SKIPIF--
|
||||
<?php require __DIR__ . '/../include/skipif.inc'; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
require_once __DIR__ . '/../include/bootstrap.php';
|
||||
|
||||
function callback_function(swoole_process $worker){}
|
||||
|
||||
$process = new swoole_process('callback_function', false, false);
|
||||
$process->useQueue();
|
||||
|
||||
$bytes = 0;
|
||||
foreach(range(1, 10) as $i)
|
||||
{
|
||||
$data = "hello worker[$i]";
|
||||
$bytes += strlen($data);
|
||||
$process->push($data);
|
||||
}
|
||||
|
||||
$queue = $process->statQueue();
|
||||
($queue['queue_num'] == 10 && $queue['queue_bytes'] == $bytes)
|
||||
&& $output = "Success\n";
|
||||
|
||||
echo $output;
|
||||
$process->freeQueue();
|
||||
?>
|
||||
Done
|
||||
--EXPECTREGEX--
|
||||
Success
|
||||
Done.*
|
||||
--CLEAN--
|
26
vendor/swoole/tests/swoole_process/process_push.phpt
vendored
Executable file
26
vendor/swoole/tests/swoole_process/process_push.phpt
vendored
Executable file
@ -0,0 +1,26 @@
|
||||
--TEST--
|
||||
swoole_process: push
|
||||
--SKIPIF--
|
||||
<?php require __DIR__ . '/../include/skipif.inc'; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
require_once __DIR__ . '/../include/bootstrap.php';
|
||||
|
||||
$process = new swoole_process(function(swoole_process $worker) {
|
||||
|
||||
$recv = $worker->pop();
|
||||
|
||||
echo "$recv";
|
||||
sleep(2);
|
||||
|
||||
$worker->exit(0);
|
||||
}, false, false);
|
||||
|
||||
$process->useQueue();
|
||||
$pid = $process->start();
|
||||
|
||||
$process->push("hello worker\n");
|
||||
?>
|
||||
--EXPECTREGEX--
|
||||
hello worker
|
||||
--CLEAN--
|
26
vendor/swoole/tests/swoole_process/process_select.phpt
vendored
Executable file
26
vendor/swoole/tests/swoole_process/process_select.phpt
vendored
Executable file
@ -0,0 +1,26 @@
|
||||
--TEST--
|
||||
swoole_process: select
|
||||
--SKIPIF--
|
||||
<?php require __DIR__ . '/../include/skipif.inc'; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
require_once __DIR__ . '/../include/bootstrap.php';
|
||||
|
||||
$process = new swoole_process(function (swoole_process $worker)
|
||||
{
|
||||
$worker->write("hello master\n");
|
||||
$worker->exit(0);
|
||||
}, false);
|
||||
|
||||
$pid = $process->start();
|
||||
$r = array($process);
|
||||
$w = array();
|
||||
$e = array();
|
||||
$ret = swoole_select($r, $w, $e, 1.0);
|
||||
echo $process->read();
|
||||
?>
|
||||
Done
|
||||
--EXPECTREGEX--
|
||||
hello master
|
||||
Done.*
|
||||
--CLEAN--
|
57
vendor/swoole/tests/swoole_process/signal.phpt
vendored
Executable file
57
vendor/swoole/tests/swoole_process/signal.phpt
vendored
Executable file
@ -0,0 +1,57 @@
|
||||
--TEST--
|
||||
swoole_process: signal
|
||||
--SKIPIF--
|
||||
<?php require __DIR__ . '/../include/skipif.inc'; ?>
|
||||
--INI--
|
||||
assert.active=1
|
||||
assert.warning=1
|
||||
assert.bail=0
|
||||
assert.quiet_eval=0
|
||||
|
||||
|
||||
--FILE--
|
||||
<?php
|
||||
require_once __DIR__ . '/../include/bootstrap.php';
|
||||
|
||||
//父进程中先设置信号
|
||||
swoole_process::signal(SIGCHLD, function ()
|
||||
{
|
||||
swoole_process::signal(SIGCHLD, null);
|
||||
swoole_process::signal(SIGTERM, null);
|
||||
echo "PARENT WAIT\n";
|
||||
swoole_event_exit();
|
||||
});
|
||||
|
||||
//测试被子进程覆盖信号
|
||||
swoole_process::signal(SIGTERM, function () {
|
||||
//释放信号,否则底层会报内存泄漏
|
||||
swoole_process::signal(SIGTERM, null);
|
||||
echo "PARENT SIGTERM\n";
|
||||
swoole_event_exit();
|
||||
});
|
||||
|
||||
|
||||
$pid = (new \swoole_process(function ()
|
||||
{
|
||||
swoole_process::signal(SIGTERM, function ($sig) {
|
||||
echo "CHILD SIGTERM\n";
|
||||
swoole_process::signal(SIGTERM, function ($sig) {
|
||||
echo "CHILD EXIT\n";
|
||||
swoole_event_exit();
|
||||
});
|
||||
});
|
||||
}))->start();
|
||||
|
||||
swoole_timer_after(500, function() use ($pid) {
|
||||
swoole_process::kill($pid, SIGTERM);
|
||||
swoole_timer_after(500, function() use ($pid) {
|
||||
swoole_process::kill($pid, SIGTERM);
|
||||
});
|
||||
});
|
||||
swoole_event_wait();
|
||||
?>
|
||||
--EXPECT--
|
||||
CHILD SIGTERM
|
||||
CHILD EXIT
|
||||
PARENT WAIT
|
||||
|
34
vendor/swoole/tests/swoole_process/swoole_process_close.phpt
vendored
Executable file
34
vendor/swoole/tests/swoole_process/swoole_process_close.phpt
vendored
Executable file
@ -0,0 +1,34 @@
|
||||
--TEST--
|
||||
swoole_process: close
|
||||
--SKIPIF--
|
||||
<?php require __DIR__ . '/../include/skipif.inc'; ?>
|
||||
--INI--
|
||||
assert.active=1
|
||||
assert.warning=1
|
||||
assert.bail=0
|
||||
assert.quiet_eval=0
|
||||
|
||||
|
||||
--FILE--
|
||||
<?php
|
||||
require_once __DIR__ . '/../include/bootstrap.php';
|
||||
|
||||
//$proc = new \swoole_process(swoole_function(\swoole_process $proc) {
|
||||
// $proc->close();
|
||||
//});
|
||||
//$proc->start();
|
||||
//
|
||||
//$proc = new \swoole_process(swoole_function(\swoole_process $proc) {
|
||||
// usleep(200000);
|
||||
// // assert(false);
|
||||
//});
|
||||
//$proc->start();
|
||||
//$proc->close();
|
||||
//
|
||||
//
|
||||
//\swoole_process::wait(true);
|
||||
//\swoole_process::wait(true);
|
||||
echo "SUCCESS";
|
||||
?>
|
||||
--EXPECT--
|
||||
SUCCESS
|
25
vendor/swoole/tests/swoole_process/swoole_process_ctor.phpt
vendored
Executable file
25
vendor/swoole/tests/swoole_process/swoole_process_ctor.phpt
vendored
Executable file
@ -0,0 +1,25 @@
|
||||
--TEST--
|
||||
swoole_process: ctor
|
||||
--SKIPIF--
|
||||
<?php require __DIR__ . '/../include/skipif.inc'; ?>
|
||||
--INI--
|
||||
assert.active=1
|
||||
assert.warning=1
|
||||
assert.bail=0
|
||||
assert.quiet_eval=0
|
||||
|
||||
|
||||
--FILE--
|
||||
<?php
|
||||
require_once __DIR__ . '/../include/bootstrap.php';
|
||||
|
||||
$proc = new \swoole_process(function() {
|
||||
assert(false);
|
||||
});
|
||||
unset($proc);
|
||||
echo "SUCCESS";
|
||||
|
||||
|
||||
?>
|
||||
--EXPECT--
|
||||
SUCCESS
|
35
vendor/swoole/tests/swoole_process/swoole_process_deamon.phpt
vendored
Executable file
35
vendor/swoole/tests/swoole_process/swoole_process_deamon.phpt
vendored
Executable file
@ -0,0 +1,35 @@
|
||||
--TEST--
|
||||
swoole_process: deamon
|
||||
--SKIPIF--
|
||||
<?php require __DIR__ . '/../include/skipif.inc'; ?>
|
||||
--INI--
|
||||
assert.active=1
|
||||
assert.warning=1
|
||||
assert.bail=0
|
||||
assert.quiet_eval=0
|
||||
|
||||
|
||||
--FILE--
|
||||
<?php
|
||||
require_once __DIR__ . '/../include/bootstrap.php';
|
||||
|
||||
$proc = new \swoole_process(function(\swoole_process $proc) {
|
||||
$r = \swoole_process::daemon();
|
||||
assert($r);
|
||||
|
||||
$proc->push(posix_getpid());
|
||||
});
|
||||
$proc->useQueue();
|
||||
$forkPid = $proc->start();
|
||||
$demonPid = intval($proc->pop());
|
||||
|
||||
assert($forkPid !== $demonPid);
|
||||
|
||||
\swoole_process::kill($demonPid, SIGKILL);
|
||||
|
||||
\swoole_process::wait(true);
|
||||
\swoole_process::wait(true);
|
||||
echo "SUCCESS";
|
||||
?>
|
||||
--EXPECT--
|
||||
SUCCESS
|
27
vendor/swoole/tests/swoole_process/swoole_process_exec.phpt
vendored
Executable file
27
vendor/swoole/tests/swoole_process/swoole_process_exec.phpt
vendored
Executable file
@ -0,0 +1,27 @@
|
||||
--TEST--
|
||||
swoole_process: exec
|
||||
--SKIPIF--
|
||||
<?php require __DIR__ . '/../include/skipif.inc'; ?>
|
||||
--INI--
|
||||
assert.active=1
|
||||
assert.warning=1
|
||||
assert.bail=0
|
||||
assert.quiet_eval=0
|
||||
|
||||
|
||||
--FILE--
|
||||
<?php
|
||||
require_once __DIR__ . '/../include/bootstrap.php';
|
||||
|
||||
$proc = new \swoole_process(function(\swoole_process $proc) {
|
||||
$proc->exec("/usr/bin/printf", ["HELLO"]);
|
||||
}, true);
|
||||
$proc->start();
|
||||
echo $proc->read();
|
||||
$proc->exec("/usr/bin/printf", [" WORLD"]);
|
||||
|
||||
|
||||
\swoole_process::wait(true);
|
||||
?>
|
||||
--EXPECT--
|
||||
HELLO WORLD
|
28
vendor/swoole/tests/swoole_process/swoole_process_exit.phpt
vendored
Executable file
28
vendor/swoole/tests/swoole_process/swoole_process_exit.phpt
vendored
Executable file
@ -0,0 +1,28 @@
|
||||
--TEST--
|
||||
swoole_process: exit
|
||||
--SKIPIF--
|
||||
<?php require __DIR__ . '/../include/skipif.inc'; ?>
|
||||
--INI--
|
||||
assert.active=1
|
||||
assert.warning=1
|
||||
assert.bail=0
|
||||
assert.quiet_eval=0
|
||||
|
||||
|
||||
--FILE--
|
||||
<?php
|
||||
require_once __DIR__ . '/../include/bootstrap.php';
|
||||
|
||||
$proc = new \swoole_process(function(\swoole_process $proc) {
|
||||
$proc->exit(9);
|
||||
});
|
||||
$pid = $proc->start();
|
||||
|
||||
|
||||
$i = \swoole_process::wait(true);
|
||||
assert($i["code"] === 9);
|
||||
|
||||
echo "SUCCESS";
|
||||
?>
|
||||
--EXPECT--
|
||||
SUCCESS
|
27
vendor/swoole/tests/swoole_process/swoole_process_freeQueue.phpt
vendored
Executable file
27
vendor/swoole/tests/swoole_process/swoole_process_freeQueue.phpt
vendored
Executable file
@ -0,0 +1,27 @@
|
||||
--TEST--
|
||||
swoole_process: freeQueue
|
||||
--SKIPIF--
|
||||
<?php require __DIR__ . '/../include/skipif.inc'; ?>
|
||||
--INI--
|
||||
assert.active=1
|
||||
assert.warning=1
|
||||
assert.bail=0
|
||||
assert.quiet_eval=0
|
||||
|
||||
|
||||
--FILE--
|
||||
<?php
|
||||
require_once __DIR__ . '/../include/bootstrap.php';
|
||||
|
||||
$proc = new \swoole_process(function() {});
|
||||
$r = $proc->useQueue();
|
||||
assert($r);
|
||||
|
||||
$proc->start();
|
||||
$r = $proc->freeQueue();
|
||||
assert($r);
|
||||
|
||||
\swoole_process::wait();
|
||||
|
||||
?>
|
||||
--EXPECT--
|
26
vendor/swoole/tests/swoole_process/swoole_process_kill.phpt
vendored
Executable file
26
vendor/swoole/tests/swoole_process/swoole_process_kill.phpt
vendored
Executable file
@ -0,0 +1,26 @@
|
||||
--TEST--
|
||||
swoole_process: kill
|
||||
--SKIPIF--
|
||||
<?php require __DIR__ . '/../include/skipif.inc'; ?>
|
||||
--INI--
|
||||
assert.active=1
|
||||
assert.warning=1
|
||||
assert.bail=0
|
||||
assert.quiet_eval=0
|
||||
|
||||
|
||||
--FILE--
|
||||
<?php
|
||||
require_once __DIR__ . '/../include/bootstrap.php';
|
||||
|
||||
$proc = new \swoole_process(function() {
|
||||
sleep(PHP_INT_MAX);
|
||||
});
|
||||
$pid = $proc->start();
|
||||
swoole_process::kill($pid, SIGKILL);
|
||||
$i = \swoole_process::wait(true);
|
||||
assert($i["signal"] === SIGKILL);
|
||||
echo "SUCCESS";
|
||||
?>
|
||||
--EXPECT--
|
||||
SUCCESS
|
36
vendor/swoole/tests/swoole_process/swoole_process_name.phpt
vendored
Executable file
36
vendor/swoole/tests/swoole_process/swoole_process_name.phpt
vendored
Executable file
@ -0,0 +1,36 @@
|
||||
--TEST--
|
||||
swoole_process: name
|
||||
--SKIPIF--
|
||||
<?php
|
||||
require __DIR__ . '/../include/skipif.inc';
|
||||
require __DIR__ . '/../inc/skipifDarwin.inc';
|
||||
?>
|
||||
--INI--
|
||||
assert.active=1
|
||||
assert.warning=1
|
||||
assert.bail=0
|
||||
assert.quiet_eval=0
|
||||
|
||||
|
||||
--FILE--
|
||||
<?php
|
||||
require_once __DIR__ . '/../include/bootstrap.php';
|
||||
|
||||
$name = "SWOOLE_PROCESS_TEST_" . rand(1, 100);
|
||||
|
||||
$proc = new \swoole_process(function($childProc) {
|
||||
global $name;
|
||||
$childProc->name($name);
|
||||
sleep(PHP_INT_MAX);
|
||||
});
|
||||
|
||||
$pid = $proc->start();
|
||||
$count = trim(`ps aux|grep $name|grep -v grep|wc -l`);
|
||||
assert($count == 1);
|
||||
\swoole_process::kill($pid, SIGKILL);
|
||||
|
||||
\swoole_process::wait(true);
|
||||
echo "SUCCESS";
|
||||
?>
|
||||
--EXPECT--
|
||||
SUCCESS
|
24
vendor/swoole/tests/swoole_process/swoole_process_pop.phpt
vendored
Executable file
24
vendor/swoole/tests/swoole_process/swoole_process_pop.phpt
vendored
Executable file
@ -0,0 +1,24 @@
|
||||
--TEST--
|
||||
swoole_process: pop
|
||||
--SKIPIF--
|
||||
<?php require __DIR__ . '/../include/skipif.inc'; ?>
|
||||
--INI--
|
||||
assert.active=1
|
||||
assert.warning=1
|
||||
assert.bail=0
|
||||
assert.quiet_eval=0
|
||||
|
||||
|
||||
--FILE--
|
||||
<?php
|
||||
require_once __DIR__ . '/../include/bootstrap.php';
|
||||
|
||||
// TODO 难道 queue不应该做成一个独立的组件,放在proc对象上啥意思
|
||||
$proc = new \swoole_process(function() { });
|
||||
$proc->useQueue();
|
||||
$proc->push("SUCCESS");
|
||||
echo $proc->pop();
|
||||
$proc->freeQueue();
|
||||
?>
|
||||
--EXPECT--
|
||||
SUCCESS
|
36
vendor/swoole/tests/swoole_process/swoole_process_push.phpt
vendored
Executable file
36
vendor/swoole/tests/swoole_process/swoole_process_push.phpt
vendored
Executable file
@ -0,0 +1,36 @@
|
||||
--TEST--
|
||||
swoole_process: push
|
||||
--SKIPIF--
|
||||
<?php require __DIR__ . '/../include/skipif.inc'; ?>
|
||||
--INI--
|
||||
assert.active=1
|
||||
assert.warning=1
|
||||
assert.bail=0
|
||||
assert.quiet_eval=0
|
||||
|
||||
|
||||
--FILE--
|
||||
<?php
|
||||
require_once __DIR__ . '/../include/bootstrap.php';
|
||||
|
||||
//$proc = new \swoole_process(swoole_function() {});
|
||||
//$proc->useQueue();
|
||||
//$r = $proc->push("\0");
|
||||
// assert($r === false);
|
||||
// TODO max data ?
|
||||
// $r = $proc->push(str_repeat("\0", 1024 * 1024 * 8));
|
||||
// assert($r === false);
|
||||
//$proc->freeQueue();
|
||||
|
||||
|
||||
$proc = new \swoole_process(function() {});
|
||||
$proc->useQueue();
|
||||
$proc->start();
|
||||
$r = $proc->push("\0");
|
||||
assert($r === true);
|
||||
$proc->freeQueue();
|
||||
\swoole_process::wait(true);
|
||||
echo "SUCCESS";
|
||||
?>
|
||||
--EXPECT--
|
||||
SUCCESS
|
33
vendor/swoole/tests/swoole_process/swoole_process_read.phpt
vendored
Executable file
33
vendor/swoole/tests/swoole_process/swoole_process_read.phpt
vendored
Executable file
@ -0,0 +1,33 @@
|
||||
--TEST--
|
||||
swoole_process: read
|
||||
--SKIPIF--
|
||||
<?php require __DIR__ . '/../include/skipif.inc'; ?>
|
||||
--INI--
|
||||
assert.active=1
|
||||
assert.warning=1
|
||||
assert.bail=0
|
||||
assert.quiet_eval=0
|
||||
|
||||
|
||||
--FILE--
|
||||
<?php
|
||||
require_once __DIR__ . '/../include/bootstrap.php';
|
||||
|
||||
$proc = new \swoole_process(function(\swoole_process $process) {
|
||||
$r = $process->write("SUCCESS");
|
||||
assert($r === 7);
|
||||
});
|
||||
$r = $proc->start();
|
||||
assert($r > 0);
|
||||
|
||||
|
||||
swoole_timer_after(10, function() use($proc) {
|
||||
echo $proc->read();
|
||||
// swoole_event_exit();
|
||||
});
|
||||
|
||||
|
||||
\swoole_process::wait(true);
|
||||
?>
|
||||
--EXPECT--
|
||||
SUCCESS
|
28
vendor/swoole/tests/swoole_process/swoole_process_redirect.phpt
vendored
Executable file
28
vendor/swoole/tests/swoole_process/swoole_process_redirect.phpt
vendored
Executable file
@ -0,0 +1,28 @@
|
||||
--TEST--
|
||||
swoole_process: redirect
|
||||
--SKIPIF--
|
||||
<?php require __DIR__ . '/../include/skipif.inc'; ?>
|
||||
--INI--
|
||||
assert.active=1
|
||||
assert.warning=1
|
||||
assert.bail=0
|
||||
assert.quiet_eval=0
|
||||
|
||||
|
||||
--FILE--
|
||||
<?php
|
||||
require_once __DIR__ . '/../include/bootstrap.php';
|
||||
|
||||
$proc = new \swoole_process(function(\swoole_process $proc) {
|
||||
echo "SUCCESS";
|
||||
}, true);
|
||||
|
||||
$proc->start();
|
||||
$r = $proc->read();
|
||||
echo "READ: $r~";
|
||||
|
||||
|
||||
\swoole_process::wait(true);
|
||||
?>
|
||||
--EXPECT--
|
||||
READ: SUCCESS~
|
24
vendor/swoole/tests/swoole_process/swoole_process_setaffinity.phpt
vendored
Executable file
24
vendor/swoole/tests/swoole_process/swoole_process_setaffinity.phpt
vendored
Executable file
@ -0,0 +1,24 @@
|
||||
--TEST--
|
||||
swoole_process: setaffinity
|
||||
--SKIPIF--
|
||||
<?php require __DIR__ . '/../include/skipif.inc'; ?>
|
||||
--INI--
|
||||
assert.active=1
|
||||
assert.warning=1
|
||||
assert.bail=0
|
||||
assert.quiet_eval=0
|
||||
|
||||
|
||||
--FILE--
|
||||
<?php
|
||||
require_once __DIR__ . '/../include/bootstrap.php';
|
||||
|
||||
$r = \swoole_process::setaffinity([0]);
|
||||
assert($r);
|
||||
|
||||
$r = \swoole_process::setaffinity([0, 1]);
|
||||
assert($r);
|
||||
echo "SUCCESS";
|
||||
?>
|
||||
--EXPECT--
|
||||
SUCCESS
|
26
vendor/swoole/tests/swoole_process/swoole_process_start.phpt
vendored
Executable file
26
vendor/swoole/tests/swoole_process/swoole_process_start.phpt
vendored
Executable file
@ -0,0 +1,26 @@
|
||||
--TEST--
|
||||
swoole_process: start
|
||||
--SKIPIF--
|
||||
<?php require __DIR__ . '/../include/skipif.inc'; ?>
|
||||
--INI--
|
||||
assert.active=1
|
||||
assert.warning=1
|
||||
assert.bail=0
|
||||
assert.quiet_eval=0
|
||||
|
||||
|
||||
--FILE--
|
||||
<?php
|
||||
require_once __DIR__ . '/../include/bootstrap.php';
|
||||
|
||||
$proc = new \swoole_process(function() {
|
||||
echo "SUCCESS";
|
||||
});
|
||||
$r = $proc->start();
|
||||
assert($r > 0);
|
||||
$proc->close();
|
||||
|
||||
\swoole_process::wait(true);
|
||||
?>
|
||||
--EXPECT--
|
||||
SUCCESS
|
27
vendor/swoole/tests/swoole_process/swoole_process_useQueue.phpt
vendored
Executable file
27
vendor/swoole/tests/swoole_process/swoole_process_useQueue.phpt
vendored
Executable file
@ -0,0 +1,27 @@
|
||||
--TEST--
|
||||
swoole_process: useQueue
|
||||
--SKIPIF--
|
||||
<?php require __DIR__ . '/../include/skipif.inc'; ?>
|
||||
--INI--
|
||||
assert.active=1
|
||||
assert.warning=1
|
||||
assert.bail=0
|
||||
assert.quiet_eval=0
|
||||
|
||||
|
||||
--FILE--
|
||||
<?php
|
||||
require_once __DIR__ . '/../include/bootstrap.php';
|
||||
|
||||
$proc = new \swoole_process(function(\swoole_process $proc) {
|
||||
echo $proc->pop();
|
||||
});
|
||||
$proc->useQueue();
|
||||
$proc->start();
|
||||
$proc->push("SUCCESS");
|
||||
|
||||
\swoole_process::wait(true);
|
||||
$proc->freeQueue();
|
||||
?>
|
||||
--EXPECT--
|
||||
SUCCESS
|
40
vendor/swoole/tests/swoole_process/swoole_process_wait.phpt
vendored
Executable file
40
vendor/swoole/tests/swoole_process/swoole_process_wait.phpt
vendored
Executable file
@ -0,0 +1,40 @@
|
||||
--TEST--
|
||||
swoole_process: wait
|
||||
--SKIPIF--
|
||||
<?php require __DIR__ . '/../include/skipif.inc'; ?>
|
||||
--INI--
|
||||
assert.active=1
|
||||
assert.warning=1
|
||||
assert.bail=0
|
||||
assert.quiet_eval=0
|
||||
|
||||
|
||||
--FILE--
|
||||
<?php
|
||||
require_once __DIR__ . '/../include/bootstrap.php';
|
||||
|
||||
$proc = new \swoole_process(function() {});
|
||||
$pid = $proc->start();
|
||||
$info = \swoole_process::wait(true);
|
||||
assert($pid === $info["pid"]);
|
||||
assert($info["code"] === 0);
|
||||
assert($info["signal"] === 0);
|
||||
|
||||
$proc = new \swoole_process(function() { exit(1); });
|
||||
$pid = $proc->start();
|
||||
$info = \swoole_process::wait(true);
|
||||
assert($pid === $info["pid"]);
|
||||
assert($info["code"] === 1);
|
||||
assert($info["signal"] === 0);
|
||||
|
||||
$proc = new \swoole_process(function() { \swoole_process::kill(posix_getpid(), SIGTERM); });
|
||||
$pid = $proc->start();
|
||||
$info = \swoole_process::wait(true);
|
||||
assert($pid === $info["pid"]);
|
||||
assert($info["code"] === 0);
|
||||
assert($info["signal"] === SIGTERM);
|
||||
|
||||
echo "SUCCESS";
|
||||
?>
|
||||
--EXPECT--
|
||||
SUCCESS
|
31
vendor/swoole/tests/swoole_process/swoole_process_write.phpt
vendored
Executable file
31
vendor/swoole/tests/swoole_process/swoole_process_write.phpt
vendored
Executable file
@ -0,0 +1,31 @@
|
||||
--TEST--
|
||||
swoole_process: write
|
||||
--SKIPIF--
|
||||
<?php require __DIR__ . '/../include/skipif.inc'; ?>
|
||||
--INI--
|
||||
assert.active=1
|
||||
assert.warning=1
|
||||
assert.bail=0
|
||||
assert.quiet_eval=0
|
||||
|
||||
|
||||
--FILE--
|
||||
<?php
|
||||
require_once __DIR__ . '/../include/bootstrap.php';
|
||||
|
||||
$proc = new \swoole_process(function(\swoole_process $process) {
|
||||
$r = $process->write("SUCCESS");
|
||||
assert($r === 7);
|
||||
});
|
||||
$r = $proc->start();
|
||||
assert($r > 0);
|
||||
|
||||
|
||||
swoole_timer_after(10, function() use($proc) {
|
||||
echo $proc->read();
|
||||
});
|
||||
|
||||
\swoole_process::wait(true);
|
||||
?>
|
||||
--EXPECT--
|
||||
SUCCESS
|
26
vendor/swoole/tests/swoole_process/timeout.phpt
vendored
Executable file
26
vendor/swoole/tests/swoole_process/timeout.phpt
vendored
Executable file
@ -0,0 +1,26 @@
|
||||
--TEST--
|
||||
swoole_process: pipe read timeout
|
||||
--SKIPIF--
|
||||
<?php require __DIR__ . '/../include/skipif.inc'; ?>
|
||||
--INI--
|
||||
assert.active=1
|
||||
assert.warning=1
|
||||
assert.bail=0
|
||||
assert.quiet_eval=0
|
||||
--FILE--
|
||||
<?php
|
||||
require_once __DIR__ . '/../include/bootstrap.php';
|
||||
|
||||
$proc = new \swoole_process(function(\swoole_process $process) {
|
||||
sleep(5);
|
||||
});
|
||||
$r = $proc->start();
|
||||
assert($r > 0);
|
||||
ini_set("swoole.display_errors", "off");
|
||||
$proc->setTimeout(0.5);
|
||||
$ret = $proc->read();
|
||||
assert($ret === false);
|
||||
swoole_process::kill($proc->pid, SIGKILL);
|
||||
\swoole_process::wait(true);
|
||||
?>
|
||||
--EXPECT--
|
47
vendor/swoole/tests/swoole_process/write_in_worker.phpt
vendored
Executable file
47
vendor/swoole/tests/swoole_process/write_in_worker.phpt
vendored
Executable file
@ -0,0 +1,47 @@
|
||||
--TEST--
|
||||
swoole_process: write in worker
|
||||
--SKIPIF--
|
||||
<?php require __DIR__ . '/../include/skipif.inc'; ?>
|
||||
--INI--
|
||||
assert.active=1
|
||||
assert.warning=1
|
||||
assert.bail=0
|
||||
assert.quiet_eval=0
|
||||
--FILE--
|
||||
<?php
|
||||
require_once __DIR__ . '/../include/bootstrap.php';
|
||||
|
||||
$serv = new \swoole_server('127.0.0.1', 9501);
|
||||
$process = new \Swoole\Process(function ($process) use ($serv) {
|
||||
sleep(1);
|
||||
echo "process start\n";
|
||||
for ($i = 0; $i < 1024; $i++)
|
||||
{
|
||||
$data = $process->read();
|
||||
assert(strlen($data) == 8192);
|
||||
}
|
||||
echo "process end\n";
|
||||
$serv->shutdown();
|
||||
});
|
||||
$serv->set([
|
||||
"worker_num" => 1,
|
||||
'log_file' => '/dev/null',
|
||||
]);
|
||||
$serv->on("WorkerStart", function (\swoole_server $serv) use ($process) {
|
||||
for ($i = 0; $i < 1024; $i++)
|
||||
{
|
||||
$process->write(str_repeat('A', 8192));
|
||||
assert($process==true);
|
||||
}
|
||||
echo "worker end\n";
|
||||
});
|
||||
$serv->on("Receive", function (\swoole_server $serv, $fd, $rid, $data) use ($process) {
|
||||
|
||||
});
|
||||
$serv->addProcess($process);
|
||||
$serv->start();
|
||||
?>
|
||||
--EXPECT--
|
||||
worker end
|
||||
process start
|
||||
process end
|
Reference in New Issue
Block a user