;;
--parallel=*)
paraller_jobs="${1##--parallel=}"
+ if ! [ "$paraller_jobs" -ge 0 2>/dev/null ]; then
+ echo "invalid argument '$paraller_jobs' for --parallel="
+ exit 1
+ fi
;;
--parallel)
paraller_jobs=$(num_cpus)
echo
echo
-if [ $paraller_jobs -gt 1 ]; then
- echo " Executing the tests in parallel ($paraller_jobs jobs) "
+if [ "$paraller_jobs" -ne 1 ]; then
+ tmp=$paraller_jobs
+ [ "$paraller_jobs" -eq 0 ] && tmp=infinite
+ echo " Executing the tests in parallel ($tmp jobs) "
echo
OPTS="$OPTS --parallel"
fi
sort |
xargs -I '{}' -P $paraller_jobs -n 1 bash -c "'{}' \"$OPTS\" ||
echo 1 >> $top_builddir/tests/failures"
+if [ $? != 0 ]; then
+ echo "xargs error" >&2
+ exit 1
+fi
declare -a fail_file
fail_file=( $( < $top_builddir/tests/failures ) ) || exit 1
rm -f $top_builddir/tests/failures