tests: getting paraller_jobs more robust

This patch fixes several issues:
 1. lscpu may not exist on all systems.
 2. Option -b is not always available but we can skip it because it's
    the documented default for -p.
 3. Some old lscpu versions print --help output to stdout in case of
    error. So in case 2. it would count all the help lines as CPUs,
    which could be really bad on slow single core machines.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
This commit is contained in:
Ruediger Meier 2014-03-28 15:48:41 +01:00
parent 5b575d4381
commit 6163259cbd
1 changed files with 10 additions and 1 deletions

View File

@ -24,6 +24,15 @@ top_srcdir=
top_builddir=
paraller_jobs=1
function num_cpus()
{
if lscpu -p &>/dev/null; then
lscpu -p | grep -cv '^#'
else
echo 1
fi
}
while [ -n "$1" ]; do
case "$1" in
--force)
@ -55,7 +64,7 @@ while [ -n "$1" ]; do
OPTS="$OPTS --parallel"
;;
--parallel)
paraller_jobs=$(lscpu -bp | grep -cv '^#')
paraller_jobs=$(num_cpus)
OPTS="$OPTS --parallel"
;;
--*)