selftests/powerpc: Fix eeh-basic.sh exit codes

The kselftests test running infrastructure expects tests to finish with an
exit code of 4 if the test decided it should be skipped. Currently
eeh-basic.sh exits with the number of devices that failed to recover, so if
four devices didn't recover we'll report a skip instead of a fail.

Fix this by checking if the return code is non-zero and report success
and failure by returning 0 or 1 respectively. For the cases where should
actually skip return 4.

Fixes: 85d86c8aa5 ("selftests/powerpc: Add basic EEH selftest")
Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20201014024711.1138386-1-oohall@gmail.com
This commit is contained in:
Oliver O'Halloran 2020-10-14 13:47:11 +11:00 committed by Michael Ellerman
parent a2d0230b91
commit 996f9e0f93

View File

@ -1,17 +1,19 @@
#!/bin/sh #!/bin/sh
# SPDX-License-Identifier: GPL-2.0-only # SPDX-License-Identifier: GPL-2.0-only
KSELFTESTS_SKIP=4
. ./eeh-functions.sh . ./eeh-functions.sh
if ! eeh_supported ; then if ! eeh_supported ; then
echo "EEH not supported on this system, skipping" echo "EEH not supported on this system, skipping"
exit 0; exit $KSELFTESTS_SKIP;
fi fi
if [ ! -e "/sys/kernel/debug/powerpc/eeh_dev_check" ] && \ if [ ! -e "/sys/kernel/debug/powerpc/eeh_dev_check" ] && \
[ ! -e "/sys/kernel/debug/powerpc/eeh_dev_break" ] ; then [ ! -e "/sys/kernel/debug/powerpc/eeh_dev_break" ] ; then
echo "debugfs EEH testing files are missing. Is debugfs mounted?" echo "debugfs EEH testing files are missing. Is debugfs mounted?"
exit 1; exit $KSELFTESTS_SKIP;
fi fi
pre_lspci=`mktemp` pre_lspci=`mktemp`
@ -84,4 +86,5 @@ echo "$failed devices failed to recover ($dev_count tested)"
lspci | diff -u $pre_lspci - lspci | diff -u $pre_lspci -
rm -f $pre_lspci rm -f $pre_lspci
exit $failed test "$failed" == 0
exit $?