Skip to content

Commit 6af6b98

Browse files
committed
fix test case: poll can't use for file descriptor on most platform
1 parent 7d210d8 commit 6af6b98

File tree

1 file changed

+35
-11
lines changed

1 file changed

+35
-11
lines changed

tests/330-poll.phpt

Lines changed: 35 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,45 @@
11
--TEST--
2-
Check for fs read and close
2+
Check for poll read and close
33
--FILE--
44
<?php
5-
$fd = fopen("testfile","w+");
5+
$socket = stream_socket_server("tcp://0.0.0.0:9999", $errno, $errstr);
6+
stream_set_blocking($socket, 0);
7+
8+
$poll = uv_poll_init(uv_default_loop(), $socket);
9+
uv_poll_start($poll, UV::READABLE, function($poll, $stat, $ev, $socket){
10+
$conn = stream_socket_accept($socket);
11+
12+
uv_poll_stop($poll);
13+
$pp = uv_poll_init(uv_default_loop(), $conn);
14+
uv_poll_start($pp, UV::WRITABLE, function($poll, $stat, $ev, $conn) use (&$pp){
615

7-
$poll = uv_poll_init(uv_default_loop(), $fd);
8-
uv_poll_start($poll, UV::WRITABLE, function($poll, $stat, $ev, $conn){
9-
fwrite($conn, "Hello");
10-
fclose($conn);
11-
$data = file_get_contents("testfile");
12-
if ($data == "Hello") {
13-
echo "OK";
14-
}
15-
unlink("testfile");
1616
uv_poll_stop($poll);
17+
uv_fs_write(uv_default_loop(), $conn, "OK", -1, function($conn, $nwrite){
18+
fclose($conn);
19+
});
20+
});
1721
});
1822

23+
$address = uv_ip4_addr("0.0.0.0","9999");
24+
$tcp = uv_tcp_init();
25+
uv_tcp_connect($tcp, $address, function($client, $stat){
26+
$request = <<<EOF
27+
HELO
28+
EOF;
29+
uv_write($client,$request,function($client, $stat){
30+
if ($stat == 0) {
31+
uv_read_start($client,function($client, $nread, $buffer){
32+
echo "$buffer\n";
33+
//var_dump($buffer);
34+
uv_close($client);
35+
});
36+
} else {
37+
uv_close($client);
38+
}
39+
});
40+
});
41+
42+
1943
uv_run();
2044
--EXPECT--
2145
OK

0 commit comments

Comments
 (0)