selftests: mptcp: join: fix ShellCheck warnings
authorMatthieu Baerts <matthieu.baerts@tessares.net>
Fri, 14 Apr 2023 15:47:10 +0000 (17:47 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 17 Apr 2023 07:25:33 +0000 (08:25 +0100)
Most of the code had an issue according to ShellCheck.

That's mainly due to the fact it incorrectly believes most of the code
was unreachable because it's invoked by variable name, see how the
"tests" array is used.

Once SC2317 has been ignored, three small warnings were still visible:

 - SC2155: Declare and assign separately to avoid masking return values.

 - SC2046: Quote this to prevent word splitting: can be ignored because
   "ip netns pids" can display more than one pid.

 - SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.

This probably didn't fix any actual issues but it might help spotting
new interesting warnings reported by ShellCheck as just before,
ShellCheck was reporting issues for most lines making it a bit useless.

Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
tools/testing/selftests/net/mptcp/mptcp_join.sh

index fafd19e..26310c1 100755 (executable)
@@ -6,6 +6,10 @@
 # address all other issues detected by shellcheck.
 #shellcheck disable=SC2086
 
+# ShellCheck incorrectly believes that most of the code here is unreachable
+# because it's invoked by variable name, see how the "tests" array is used
+#shellcheck disable=SC2317
+
 ret=0
 sin=""
 sinfail=""
@@ -371,8 +375,9 @@ check_transfer()
 
        local line
        if [ -n "$bytes" ]; then
+               local out_size
                # when truncating we must check the size explicitly
-               local out_size=$(wc -c $out | awk '{print $1}')
+               out_size=$(wc -c $out | awk '{print $1}')
                if [ $out_size -ne $bytes ]; then
                        echo "[ FAIL ] $what output file has wrong size ($out_size, $bytes)"
                        fail_test
@@ -500,6 +505,7 @@ kill_events_pids()
 
 kill_tests_wait()
 {
+       #shellcheck disable=SC2046
        kill -SIGUSR1 $(ip netns pids $ns2) $(ip netns pids $ns1)
        wait
 }
@@ -1703,7 +1709,7 @@ chk_subflow_nr()
 
        cnt1=$(ss -N $ns1 -tOni | grep -c token)
        cnt2=$(ss -N $ns2 -tOni | grep -c token)
-       if [ "$cnt1" != "$subflow_nr" -o "$cnt2" != "$subflow_nr" ]; then
+       if [ "$cnt1" != "$subflow_nr" ] || [ "$cnt2" != "$subflow_nr" ]; then
                echo "[fail] got $cnt1:$cnt2 subflows expected $subflow_nr"
                fail_test
                dump_stats=1