selftests: net: lib: fix shift count out of range
authorHangbin Liu <liuhangbin@gmail.com>
Wed, 9 Jul 2025 09:12:44 +0000 (09:12 +0000)
committerJakub Kicinski <kuba@kernel.org>
Fri, 11 Jul 2025 01:11:52 +0000 (18:11 -0700)
I got the following warning when writing other tests:

  + handle_test_result_pass 'bond 802.3ad' '(lacp_active off)'
  + local 'test_name=bond 802.3ad'
  + shift
  + local 'opt_str=(lacp_active off)'
  + shift
  + log_test_result 'bond 802.3ad' '(lacp_active off)' ' OK '
  + local 'test_name=bond 802.3ad'
  + shift
  + local 'opt_str=(lacp_active off)'
  + shift
  + local 'result= OK '
  + shift
  + local retmsg=
  + shift
  /net/tools/testing/selftests/net/forwarding/../lib.sh: line 315: shift: shift count out of range

This happens because an extra shift is executed even after all arguments
have been consumed. Remove the last shift in log_test_result() to avoid
this warning.

Fixes: a923af1ceee7 ("selftests: forwarding: Convert log_test() to recognize RET values")
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
Link: https://patch.msgid.link/20250709091244.88395-1-liuhangbin@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/net/lib.sh

index 006fdadcc4b9b061509a3be235ef0ed44d9a2b45..86a216e9aca8936fc489e338c50dcfbbf4516b9d 100644 (file)
@@ -312,7 +312,7 @@ log_test_result()
        local test_name=$1; shift
        local opt_str=$1; shift
        local result=$1; shift
-       local retmsg=$1; shift
+       local retmsg=$1
 
        printf "TEST: %-60s  [%s]\n" "$test_name $opt_str" "$result"
        if [[ $retmsg ]]; then