summaryrefslogtreecommitdiff
path: root/tests/it_url_server.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/it_url_server.php')
-rw-r--r--tests/it_url_server.php33
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;
+}
+