exitcode=0
d=bin
[ -n "${BUILD_TYPE}" -a -d bin/${BUILD_TYPE} ] && d=bin/${BUILD_TYPE}
dur=30
declare -a pids
qrss="-Qrss:10"
if expr "${SANITIZER}" : '.*address' ; then
echo "address sanitizer enabled in build, not checking RSS"
qrss=""
fi
$d/ddsperf -L -D$dur -n10 -Qminmatch:2 -Qlivemem:1 $qrss -Qsamples:100000 -Qroundtrips:3000 sub ping & \
pids[${#pids}]=$!
$d/ddsperf -L -D$dur -n10 -Qminmatch:2 -Qlivemem:1 $qrss pub 100Hz burst 1000 & \
pids[${#pids}]=$!
sleep $((dur + 1))
for pid in ${pids[@]} ; do
if kill -0 $pid 2>/dev/null ; then
echo "killing process $pid"
kill -9 $pid
exitcode=2
fi
wait $pid
x=$?
if [[ $x -gt $exitcode ]] ; then
exitcode=$x
fi
done
if [[ $exitcode -gt 0 ]] ; then
echo "** FAILED **"
else
echo "** OK **"
fi
exit $exitcode