From: Kajol Jain <kj...@linux.ibm.com>

Running shellcheck on lock_contention.sh generates below warning:

In stat_bpf_counters_cgrp.sh line 28:
        if [ -d /sys/fs/cgroup/system.slice -a -d /sys/fs/cgroup/user.slice ]; 
then
                                            ^-- SC2166 (warning): Prefer [ p ] 
&& [ q ] as [ p -a q ] is not well defined.

In stat_bpf_counters_cgrp.sh line 34:
        local self_cgrp=$(grep perf_event /proc/self/cgroup | cut -d: -f3)
        ^-------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.
              ^-------^ SC2155 (warning): Declare and assign separately to 
avoid masking return values.
                        ^-- SC2046 (warning): Quote this to prevent word 
splitting.

In stat_bpf_counters_cgrp.sh line 51:
        local output
        ^----------^ SC3043 (warning): In POSIX sh, 'local' is undefined.

In stat_bpf_counters_cgrp.sh line 65:
        local output
        ^----------^ SC3043 (warning): In POSIX sh, 'local' is undefined.

Fixed above warnings by:
- Changing the expression [p -a q] to [p] && [q].
- Fixing shellcheck warnings for local usage, by prefixing
  function name to the variable.

Signed-off-by: Athira Rajeev <atraj...@linux.vnet.ibm.com>
Signed-off-by: Kajol Jain <kj...@linux.ibm.com>
---
 .../tests/shell/stat_bpf_counters_cgrp.sh     | 28 ++++++++-----------
 1 file changed, 12 insertions(+), 16 deletions(-)

diff --git a/tools/perf/tests/shell/stat_bpf_counters_cgrp.sh 
b/tools/perf/tests/shell/stat_bpf_counters_cgrp.sh
index d724855d097c..a74440a00b6b 100755
--- a/tools/perf/tests/shell/stat_bpf_counters_cgrp.sh
+++ b/tools/perf/tests/shell/stat_bpf_counters_cgrp.sh
@@ -25,22 +25,22 @@ check_bpf_counter()
 find_cgroups()
 {
        # try usual systemd slices first
-       if [ -d /sys/fs/cgroup/system.slice -a -d /sys/fs/cgroup/user.slice ]; 
then
+       if [ -d /sys/fs/cgroup/system.slice ] && [ -d /sys/fs/cgroup/user.slice 
]; then
                test_cgroups="system.slice,user.slice"
                return
        fi
 
        # try root and self cgroups
-       local self_cgrp=$(grep perf_event /proc/self/cgroup | cut -d: -f3)
-       if [ -z ${self_cgrp} ]; then
+       find_cgroups_self_cgrp=$(grep perf_event /proc/self/cgroup | cut -d: 
-f3)
+       if [ -z ${find_cgroups_self_cgrp} ]; then
                # cgroup v2 doesn't specify perf_event
-               self_cgrp=$(grep ^0: /proc/self/cgroup | cut -d: -f3)
+               find_cgroups_self_cgrp=$(grep ^0: /proc/self/cgroup | cut -d: 
-f3)
        fi
 
-       if [ -z ${self_cgrp} ]; then
+       if [ -z ${find_cgroups_self_cgrp} ]; then
                test_cgroups="/"
        else
-               test_cgroups="/,${self_cgrp}"
+               test_cgroups="/,${find_cgroups_self_cgrp}"
        fi
 }
 
@@ -48,13 +48,11 @@ find_cgroups()
 # Just check if it runs without failure and has non-zero results.
 check_system_wide_counted()
 {
-       local output
-
-       output=$(perf stat -a --bpf-counters --for-each-cgroup ${test_cgroups} 
-e cpu-clock -x, sleep 1  2>&1)
-       if echo ${output} | grep -q -F "<not "; then
+       check_system_wide_counted_output=$(perf stat -a --bpf-counters 
--for-each-cgroup ${test_cgroups} -e cpu-clock -x, sleep 1  2>&1)
+       if echo ${check_system_wide_counted_output} | grep -q -F "<not "; then
                echo "Some system-wide events are not counted"
                if [ "${verbose}" = "1" ]; then
-                       echo ${output}
+                       echo ${check_system_wide_counted_output}
                fi
                exit 1
        fi
@@ -62,13 +60,11 @@ check_system_wide_counted()
 
 check_cpu_list_counted()
 {
-       local output
-
-       output=$(perf stat -C 1 --bpf-counters --for-each-cgroup 
${test_cgroups} -e cpu-clock -x, taskset -c 1 sleep 1  2>&1)
-       if echo ${output} | grep -q -F "<not "; then
+       check_cpu_list_counted_output=$(perf stat -C 1 --bpf-counters 
--for-each-cgroup ${test_cgroups} -e cpu-clock -x, taskset -c 1 sleep 1  2>&1)
+       if echo ${check_cpu_list_counted_output} | grep -q -F "<not "; then
                echo "Some CPU events are not counted"
                if [ "${verbose}" = "1" ]; then
-                       echo ${output}
+                       echo ${check_cpu_list_counted_output}
                fi
                exit 1
        fi
-- 
2.39.1

Reply via email to