X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=tests%2Fhelper%2Fserver.inc;h=506e08313b2c70f71a97f494bb5097171bc7a1f0;hb=f95804b9731a37187624208a1e2f720da373a989;hp=265a861a4a9129656c24adc529d4f70fd99780f8;hpb=455306442cd599c5a5750a70053b1a5f47b08538;p=m6w6%2Fext-http diff --git a/tests/helper/server.inc b/tests/helper/server.inc index 265a861..506e083 100644 --- a/tests/helper/server.inc +++ b/tests/helper/server.inc @@ -11,7 +11,11 @@ if ($php) { } function serve($cb) { - foreach (range(8000+PHP_INT_SIZE, 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+PHP_INT_SIZE, 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];