diff --git a/tests/runtest.sh b/tests/runtest.sh index 12b0e6d74..5c45fc74f 100755 --- a/tests/runtest.sh +++ b/tests/runtest.sh @@ -113,6 +113,10 @@ case $OSName in libExtension="so" ;; + FreeBSD) + libExtension="so" + ;; + NetBSD) libExtension="so" ;; @@ -736,7 +740,9 @@ function run_test { } # Variables for running tests in the background -if [ `uname` = "NetBSD" ]; then +if [ `uname` = "FreeBSD" ]; then + NumProc=$(getconf NPROCESSORS_ONLN) +elif [ `uname` = "NetBSD" ]; then NumProc=$(getconf NPROCESSORS_ONLN) elif [ `uname` = "Darwin" ]; then NumProc=$(getconf _NPROCESSORS_ONLN) @@ -749,6 +755,7 @@ else NumProc=1 fi fi + ((maxProcesses = $NumProc * 3 / 2)) # long tests delay process creation, use a few more processors ((processCount = 0)) @@ -783,6 +790,7 @@ function waitany { function get_available_process_index { local pid local i=0 + for (( i=0; i<$maxProcesses; i++ )); do pid=${processIds[$i]} if [ -z "$pid" ] || [ "$pid" == "$pidNone" ]; then