The current test marks all unexpected return values as failed and sets ret
to 1. If a test is skipped, the entire test also returns 1, incorrectly
indicating failure.

To fix this, add a skipped variable and set ret to 4 if it was previously
0. Otherwise, keep ret set to 1.

Signed-off-by: Hangbin Liu <liuhang...@gmail.com>
---
 tools/testing/selftests/net/fib_nexthops.sh | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/net/fib_nexthops.sh 
b/tools/testing/selftests/net/fib_nexthops.sh
index 77c83d9508d3..6a58e23e1588 100755
--- a/tools/testing/selftests/net/fib_nexthops.sh
+++ b/tools/testing/selftests/net/fib_nexthops.sh
@@ -76,11 +76,13 @@ log_test()
                printf "TEST: %-60s  [ OK ]\n" "${msg}"
                nsuccess=$((nsuccess+1))
        else
-               ret=1
-               nfail=$((nfail+1))
                if [[ $rc -eq $ksft_skip ]]; then
+                       [[ $ret -eq 0 ]] && ret=$ksft_skip
+                       nskip=$((nskip+1))
                        printf "TEST: %-60s  [SKIP]\n" "${msg}"
                else
+                       ret=1
+                       nfail=$((nfail+1))
                        printf "TEST: %-60s  [FAIL]\n" "${msg}"
                fi
 
@@ -2528,6 +2530,7 @@ done
 if [ "$TESTS" != "none" ]; then
        printf "\nTests passed: %3d\n" ${nsuccess}
        printf "Tests failed: %3d\n"   ${nfail}
+       printf "Tests skipped: %2d\n"  ${nskip}
 fi
 
 exit $ret
-- 
2.46.0


Reply via email to