summaryrefslogtreecommitdiff
path: root/test/it_url_server.php
diff options
context:
space:
mode:
authorUrban Müller2018-06-21 16:42:32 +0200
committerUrban Müller2018-06-21 16:43:32 +0200
commit3dabbbd5325c9fad9582cd44b1da68dece78eaa0 (patch)
tree92d951b948f0e01dc6b7ae3f11b9c03034edb69a /test/it_url_server.php
parent455b15f7a850a58ef667ad170732769043eb1522 (diff)
downloaditools-3dabbbd5325c9fad9582cd44b1da68dece78eaa0.tar.gz
itools-3dabbbd5325c9fad9582cd44b1da68dece78eaa0.tar.bz2
itools-3dabbbd5325c9fad9582cd44b1da68dece78eaa0.zip
no reason for different naming
Diffstat (limited to 'test/it_url_server.php')
-rw-r--r--test/it_url_server.php32
1 files changed, 32 insertions, 0 deletions
diff --git a/test/it_url_server.php b/test/it_url_server.php
new file mode 100644
index 0000000..3805a79
--- /dev/null
+++ b/test/it_url_server.php
@@ -0,0 +1,32 @@
+<?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;
+}