com php-src: add test for bug #70198: ext/standard/tests/streams/bug70198.phpt

From: Date: Tue, 11 Aug 2015 13:00:17 +0000
Subject: com php-src: add test for bug #70198: ext/standard/tests/streams/bug70198.phpt
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-88458@lists.php.net to get a copy of this message
Commit: 8d2b131d9f4a52ea1e03ebeaaf3922abdc308d63 Author: Anatol Belski <ab@php.net> Tue, 11 Aug 2015 15:00:17 +0200 Parents: 24f0fe6b1f53e2d610dc27c04b0c6cd9927f4d4a Branches: master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=8d2b131d9f4a52ea1e03ebeaaf3922abdc308d63 Log: add test for bug #70198 Bugs: https://bugs.php.net/70198 Changed paths: A ext/standard/tests/streams/bug70198.phpt Diff: diff --git a/ext/standard/tests/streams/bug70198.phpt b/ext/standard/tests/streams/bug70198.phpt new file mode 100644 index 0000000..f3a608f --- /dev/null +++ b/ext/standard/tests/streams/bug70198.phpt @@ -0,0 +1,61 @@ +--TEST-- +Bug #70198 Checking liveness does not work as expected +--SKIPIF-- +<?php +if (getenv("SKIP_SLOW_TESTS")) die("skip slow test"); +?> +--FILE-- +<?php + +/* What is checked here is + - start a server and listen + - as soon as client connects, close connection and exit + - on the client side - sleep(1) and check feof() +*/ + +$srv_addr = "tcp://127.0.0.1:8085"; +$srv_fl = dirname(__FILE__) . "/bug70198_svr_" . md5(uniqid()) . ".php"; +$srv_fl_cont = <<<SRV +<?php +\$socket = stream_socket_server('$srv_addr', \$errno, \$errstr); + +if (!\$socket) { + echo "\$errstr (\$errno)<br />\\n"; +} else { + while (\$conn = stream_socket_accept(\$socket)) { + + /* just close the connection immediately after accepting, + the client side will need wait a bit longer to realize it.*/ + fclose(\$conn); + break; + } + fclose(\$socket); +} +SRV; +file_put_contents($srv_fl, $srv_fl_cont); +$dummy0 = $dummy1 = array(); +$srv_proc = proc_open(PHP_BINARY . " -n $srv_fl", $dummy0, $dummy1); + +$i = 0; +$fp = stream_socket_client($srv_addr, $errno, $errstr, 1); +if (!$fp) { + echo "$errstr ($errno)<br />\n"; +} else { + stream_set_blocking($fp, 0); + sleep(1); + while (!feof($fp)) { + ++$i; + } + fclose($fp); + var_dump($i); +} + + +proc_close($srv_proc); +unlink($srv_fl); +?> +==DONE== +--EXPECTF-- +int(0) +==DONE== +

« previous php.cvs (#88458) next »