kselftest/cgroup: Fix gathering number of CPUs
authorBreno Leitao <leitao@debian.org>
Sun, 13 Nov 2022 11:44:49 +0000 (11:44 +0000)
committerTejun Heo <tj@kernel.org>
Mon, 14 Nov 2022 21:37:56 +0000 (11:37 -1000)
test_cpuset_prs.sh is failing with the following error:

test_cpuset_prs.sh: line 29: [[: 8
57%: syntax error in expression (error token is "57%")

This is happening because `lscpu | grep "^CPU(s)"` returns two lines in
some systems (such as Debian unstable):

# lscpu | grep "^CPU(s)"
CPU(s):                          8
CPU(s) scaling MHz:              55%

This is a simple fix that discard the second line.

Signed-off-by: Breno Leitao <leitao@debian.org>
Reviewed-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
tools/testing/selftests/cgroup/test_cpuset_prs.sh

index 526d2c4..564ca8c 100755 (executable)
@@ -25,7 +25,7 @@ WAIT_INOTIFY=$(cd $(dirname $0); pwd)/wait_inotify
 CGROUP2=$(mount -t cgroup2 | head -1 | awk -e '{print $3}')
 [[ -n "$CGROUP2" ]] || skip_test "Cgroup v2 mount point not found!"
 
-CPUS=$(lscpu | grep "^CPU(s)" | sed -e "s/.*:[[:space:]]*//")
+CPUS=$(lscpu | grep "^CPU(s):" | sed -e "s/.*:[[:space:]]*//")
 [[ $CPUS -lt 8 ]] && skip_test "Test needs at least 8 cpus available!"
 
 # Set verbose flag and delay factor