lingering TSRM macros
[m6w6/ext-http] / tests / helper / server.inc
index e3b7af6a956f4b3b58a5b2a159e0396008c0f977..a13dc12027d89204d1d49192b0ea77bde57f4d23 100644 (file)
@@ -10,6 +10,18 @@ if ($php) {
        define("PHP_BIN", PHP_BINDIR.DIRECTORY_SEPARATOR."php");
 }
 
+foreach (array("raphf", "propro", "http") as $ext) {
+       if (!extension_loaded($ext)) {
+               switch (PHP_SHLIB_SUFFIX) {
+                       case "dll":
+                               dl("php_$ext.dll"); 
+                               break;
+                       default:
+                               dl($ext .".". PHP_SHLIB_SUFFIX);
+               }
+       }
+}
+
 function serve($cb) {
        /* stream_socket_server() automatically sets SO_REUSEADDR, 
         * which is, well, bad if the tests are run in parallel
@@ -54,7 +66,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];