]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
tests: getting paraller_jobs more robust
authorRuediger Meier <ruediger.meier@ga-group.nl>
Fri, 28 Mar 2014 14:48:41 +0000 (15:48 +0100)
committerRuediger Meier <ruediger.meier@ga-group.nl>
Sat, 29 Mar 2014 00:13:13 +0000 (01:13 +0100)
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>
tests/run.sh

index 7b1e4b7c7ced4027d14d66b465e6e6bbd5783322..6bc82de0f332b79b0dfd911da0d02ba1f8fa1f8f 100755 (executable)
@@ -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"
                ;;
        --*)