Skip to content

Commit

Permalink
kselftest: rtnetlink: add pause and pause on fail flag
Browse files Browse the repository at this point in the history
'Pause' prompts the user to press Enter to continue running tests
once one test has finished. Pause on fail on prompts the user to press
enter only when a test fails.

Modifications to kci_test_addrlft() and kci_test_ipsec_offload()
ensure that whenever end_test is called, [$ret -ne 0] indicates
failure. This allows end_test to really easily implement pause on fail
functionality.

Signed-off-by: Daniel Mendes <dmendes@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Daniel Mendes authored and David S. Miller committed Sep 18, 2023
1 parent 9c2a19f commit a68eed9
Showing 1 changed file with 23 additions and 4 deletions.
27 changes: 23 additions & 4 deletions tools/testing/selftests/net/rtnetlink.sh
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ ALL_TESTS="

devdummy="test-dummy0"
VERBOSE=0
PAUSE=no
PAUSE_ON_FAIL=no

# Kselftest framework requirement - SKIP code is 4.
ksft_skip=4
Expand Down Expand Up @@ -112,6 +114,17 @@ end_test()
{
echo "$*"
[ "${VERBOSE}" = "1" ] && echo

if [[ $ret -ne 0 ]] && [[ "${PAUSE_ON_FAIL}" = "yes" ]]; then
echo "Hit enter to continue"
read a
fi;

if [ "${PAUSE}" = "yes" ]; then
echo "Hit enter to continue"
read a
fi

}


Expand Down Expand Up @@ -286,8 +299,8 @@ kci_test_addrlft()
sleep 5
run_cmd_grep "10.23.11." ip addr show dev "$devdummy"
if [ $? -eq 0 ]; then
end_test "FAIL: preferred_lft addresses remaining"
check_err 1
end_test "FAIL: preferred_lft addresses remaining"
return
fi

Expand Down Expand Up @@ -779,8 +792,8 @@ kci_test_ipsec_offload()
# does offload show up in ip output
lines=`ip x s list | grep -c "crypto offload parameters: dev $dev dir"`
if [ $lines -ne 2 ] ; then
end_test "FAIL: ipsec_offload SA offload missing from list output"
check_err 1
end_test "FAIL: ipsec_offload SA offload missing from list output"
fi

# use ping to exercise the Tx path
Expand All @@ -806,8 +819,8 @@ EOF
ip x p flush
lines=`grep -c "SA count=0" $sysfsf`
if [ $lines -ne 1 ] ; then
end_test "FAIL: ipsec_offload SA not removed from driver"
check_err 1
end_test "FAIL: ipsec_offload SA not removed from driver"
fi

# clean up any leftovers
Expand Down Expand Up @@ -1254,6 +1267,8 @@ usage: ${0##*/} OPTS
-t <test> Test(s) to run (default: all)
(options: $(echo $ALL_TESTS))
-v Verbose mode (show commands and output)
-P Pause after every test
-p Pause after every failing test before cleanup (for debugging)
EOF
}

Expand All @@ -1271,15 +1286,19 @@ for x in ip tc;do
fi
done

while getopts t:hv o; do
while getopts t:hvpP o; do
case $o in
t) TESTS=$OPTARG;;
v) VERBOSE=1;;
p) PAUSE_ON_FAIL=yes;;
P) PAUSE=yes;;
h) usage; exit 0;;
*) usage; exit 1;;
esac
done

[ $PAUSE = "yes" ] && PAUSE_ON_FAIL="no"

kci_test_rtnl

exit $?

0 comments on commit a68eed9

Please sign in to comment.