diff options
Diffstat (limited to 'tests/it_url_server.php')
-rw-r--r-- | tests/it_url_server.php | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/it_url_server.php b/tests/it_url_server.php new file mode 100644 index 0000000..a407ab5 --- /dev/null +++ b/tests/it_url_server.php @@ -0,0 +1,33 @@ +<?php +$server = proc_open( + 'php -S localhost:8000 ' . dirname($_SERVER['PHP_SELF']) . '/it_url.testserver.php', + array(0 => fopen('/dev/null', 'r'), 1 => fopen('/dev/null', 'w'), 2 => array('pipe', 'w')), + $pipes +); +register_shutdown_function( + function ($server) { + proc_terminate($server); + }, + $server +); + +usleep(100000); +stream_set_blocking($pipes[2], 0); + +function server_output() { + $result = array(); + while (($result[] = trim(fgets($GLOBALS['pipes'][2])))) {}; + return array_filter($result); +} + +function handle_server($args) { + $res = true; + foreach ((array)$args as $arg) + $res = $res && $arg; + $output = server_output(); + if (!$res) + diag($output); + else + return $output; +} + |