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
Comments