X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=tests%2Fhelper%2Fserver.inc;h=506e08313b2c70f71a97f494bb5097171bc7a1f0;hb=22258cd0e6d317e1dbe3c2479aed037571f57b97;hp=3d49a85363d7a714ebd80d2d020bd2c1f9cda454;hpb=62e6b88c7223f15646c8dcfd0e974b03cd5cf63a;p=m6w6%2Fext-http diff --git a/tests/helper/server.inc b/tests/helper/server.inc index 3d49a85..506e083 100644 --- a/tests/helper/server.inc +++ b/tests/helper/server.inc @@ -11,7 +11,11 @@ if ($php) { } function serve($cb) { - foreach (range(8000, 9000) as $port) { + /* stream_socket_server() automatically sets SO_REUSEADDR, + * which is, well, bad if the tests are run in parallel + */ + $offset = rand(0,2000); + foreach (range(8000+$offset, 9000+$offset) as $port) { if (($server = @stream_socket_server("tcp://localhost:$port"))) { fprintf(STDERR, "%s\n", $port); do { @@ -50,7 +54,8 @@ function server($handler, $cb) { function nghttpd($cb) { $spec = array(array("pipe","r"), array("pipe","w"), array("pipe","w")); - foreach (range(8000, 9000) as $port) { + $offset = rand(0,2000); + foreach (range(8000+$offset, 9000+$offset) as $port) { $comm = "exec nghttpd -d html $port http2.key http2.crt"; if (($proc = proc_open($comm, $spec, $pipes, __DIR__))) { $stdin = $pipes[0];