Init Repo

This commit is contained in:
root
2019-09-06 23:53:10 +08:00
commit f0ef89dfbb
7905 changed files with 914138 additions and 0 deletions

40
vendor/swoole/tests/swoole_async/aio1.phpt vendored Executable file
View File

@ -0,0 +1,40 @@
--TEST--
swoole_async: linux native aio readfile & writefile
--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';
require_once __DIR__ . '/../include/swoole.inc';
swoole_async::set(array('aio_mode' => SWOOLE_AIO_LINUX));
swoole_async_readfile(TEST_IMAGE, function ($filename, $content)
{
assert(md5_file($filename) == md5($content));
$wFile = __DIR__ . '/tmp';
$wData = str_repeat('A', 8192 * 128);
swoole_async::writeFile($wFile, $wData, function ($file) use ($wData)
{
assert(md5_file($file) == md5($wData));
echo "SUCCESS\n";
swoole_event::defer(function() use ($file) {
unlink($file);
});
});
echo "SUCCESS\n";
});
swoole_event::wait();
?>
--EXPECT--
SUCCESS
SUCCESS

33
vendor/swoole/tests/swoole_async/aio2.phpt vendored Executable file
View File

@ -0,0 +1,33 @@
--TEST--
swoole_async: linux native aio 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';
require_once __DIR__ . '/../include/swoole.inc';
swoole_async::set(array('aio_mode' => SWOOLE_AIO_LINUX));
$data = '';
swoole_async_read(TEST_IMAGE, function ($filename, $content) use (&$data)
{
if ($content)
{
$data .= $content;
}
else
{
assert(md5($data) == md5_file(TEST_IMAGE));
}
return true;
});
?>
--EXPECT--

42
vendor/swoole/tests/swoole_async/aio3.phpt vendored Executable file
View File

@ -0,0 +1,42 @@
--TEST--
swoole_async: linux native aio 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';
require_once __DIR__ . '/../include/swoole.inc';
const N = 10;
swoole_async::set(array('aio_mode' => SWOOLE_AIO_LINUX));
$data = '';
$count = 0;
$sets = 'ABCDEFGHIJK';
for ($i = 0; $i < N; $i++)
{
$wData = str_repeat($sets[$i], 1023) . "\n";
$data .= $wData;
swoole_async_write(__DIR__ . '/tmp', $wData, $i * 1024, function ($filename, $length) use ($data, &$count)
{
$count ++;
if ($count == N) {
swoole_event::defer(function() use ($data) {
assert(md5_file(__DIR__. '/tmp') == md5($data));
echo "SUCCESS\n";
unlink(__DIR__. '/tmp');
});
}
});
}
?>
--EXPECT--
SUCCESS

View File

@ -0,0 +1,27 @@
--TEST--
swoole_async: parallel_read_copy_10m_file
--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';
require_once __DIR__ . '/../include/swoole.inc';
require_once __DIR__ . '/../include/api/swoole_async/read_write.php';
$chunk = 1024 * 1024;
parallel_read_copy($chunk, 10);
?>
--EXPECT--
SUCCESS
--CLEAN--

View File

@ -0,0 +1,27 @@
--TEST--
swoole_async: parallel_read_copy_10m_file
--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';
require_once __DIR__ . '/../include/swoole.inc';
require_once __DIR__ . '/../include/api/swoole_async/read_write.php';
$chunk = 1024 * 512;
parallel_read_copy($chunk, 10);
?>
--EXPECT--
SUCCESS
--CLEAN--

View File

@ -0,0 +1,24 @@
--TEST--
swoole_async: swoole_async_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';
require_once __DIR__ . '/../include/swoole.inc';
swoole_async_readfile(TEST_IMAGE, function ($filename, $content) {
assert(md5_file($filename) == md5($content));
echo "SUCCESS\n";
});
?>
--EXPECT--
SUCCESS

View File

@ -0,0 +1,23 @@
--TEST--
swoole_async: recursive write file
--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';
require_once __DIR__ . '/../include/swoole.inc';
require_once __DIR__ . '/../include/api/swoole_async/recursive_write.php';
recursiveWrite();
?>
--EXPECT--
SUCCESS

View File

@ -0,0 +1,26 @@
--TEST--
swoole_async: sequence copy 10m file
--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';
require_once __DIR__ . '/../include/swoole.inc';
require_once __DIR__ . '/../include/api/swoole_async/read_write.php';
serial_read_copy(10);
?>
--EXPECT--
SUCCESS
--CLEAN--

View File

@ -0,0 +1,25 @@
--TEST--
swoole_async: swoole_async_dns_lookup
--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';
require_once __DIR__ . '/../include/swoole.inc';
swoole_async_dns_lookup("www.baidu.com", function($host, $ip) {
assert(ip2long($ip));
echo "SUCCESS";
});
?>
--EXPECT--
SUCCESS

View File

@ -0,0 +1,34 @@
--TEST--
swoole_async: swoole_async_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';
require_once __DIR__ . '/../include/swoole.inc';
swoole_async_read(__FILE__, function ($filename, $content) {
$size = strlen($content);
if ($size === 0) {
echo "SUCCESS";
return false;
} else {
assert(filesize(__FILE__) === $size);
return true;
}
}, 8192);
?>
--EXPECT--
SUCCESS
--CLEAN--

View File

@ -0,0 +1,58 @@
--TEST--
swoole_async: swoole_async_set
--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';
require_once __DIR__ . '/../include/swoole.inc';
swoole_async_set([
"aio_mode" => 1,
"thread_num" => 1,
"enable_signalfd" => true,
"socket_buffer_size" => 0,
"socket_dontwait" => true,
"aio_max_buffer" => 0,
"disable_dns_cache" => true,
"dns_lookup_random" => true,
"enable_reuse_port" => true,
]);
// 一个线程 进行dns查询, 结果有序
$r = [];
$tokens = array_fill(0, 10, 0);
for($i = 0; $i < 10; $i++) {
swoole_async_dns_lookup("www.youtube.com", function($domain, $ip) use($i, &$r, &$tokens) {
//echo $domain, $ip, "\n";
array_pop($tokens);
$r[] = $i;
if (empty($tokens)) {
foreach($r as $i => $_i) {
assert($i === $_i);
}
echo "SUCCESS";
}
});
}
?>
--EXPECT--
SUCCESS

View File

@ -0,0 +1,59 @@
--TEST--
swoole_async: swoole_async_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';
require_once __DIR__ . '/../include/swoole.inc';
$tmpFile = __DIR__.'/tmpFile';
$data = '';
$offset = 0;
for ($i = 0; $i < 10; $i++)
{
$size = rand(1000, 8192);
$chunk = RandStr::gen($size);
swoole_async_write($tmpFile, $chunk, $offset);
$data .= $chunk;
$offset += $size;
}
for ($i = 0; $i < 5; $i++)
{
$size = rand(1000, 8192);
$chunk = RandStr::gen($size);
swoole_async_write($tmpFile, $chunk, $offset, function () use ($i) {
echo "SUCCESS\n";
if ($i == 4) {
swoole_event_exit();
}
});
$data .= $chunk;
$offset += $size;
}
swoole_event::wait();
assert(md5($data) == md5_file($tmpFile));
unlink($tmpFile);
?>
--EXPECT--
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS

View File

@ -0,0 +1,30 @@
--TEST--
swoole_async: swoole_async_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';
require_once __DIR__ . '/../include/swoole.inc';
$content = file_get_contents(TEST_IMAGE);
$filename = __DIR__ . '/tmp_file.jpg';
swoole_async_writefile($filename, $content, function ($filename)
{
assert(md5_file($filename) == md5_file(TEST_IMAGE));
echo "SUCCESS\n";
unlink($filename);
swoole_event_exit();
});
?>
--EXPECT--
SUCCESS