mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 01:49:46 +00:00
selftests: net: lib: Do not overwrite error messages
[ Upstream commitbed22c7b90] ret_set_ksft_status() calls ksft_status_merge() with the current return status and the last one. It treats a non-zero return code from ksft_status_merge() as an indication that the return status was overwritten by the last one and therefore overwrites the return message with the last one. Currently, ksft_status_merge() returns a non-zero return code even if the current return status and the last one are equal. This results in return messages being overwritten which is counter-productive since we are more interested in the first failure message and not the last one. Fix by changing ksft_status_merge() to only return a non-zero return code if the current return status was actually changed. Add a test case which checks that the first error message is not overwritten. Before: # ./lib_sh_test.sh [...] TEST: RET tfail2 tfail -> fail [FAIL] retmsg=tfail expected tfail2 [...] # echo $? 1 After: # ./lib_sh_test.sh [...] TEST: RET tfail2 tfail -> fail [ OK ] [...] # echo $? 0 Fixes:596c8819cb("selftests: forwarding: Have RET track kselftest framework constants") Reviewed-by: Petr Machata <petrm@nvidia.com> Signed-off-by: Ido Schimmel <idosch@nvidia.com> Link: https://patch.msgid.link/20251116081029.69112-1-idosch@nvidia.com Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
b9dbfb1b56
commit
01a726aaa8
@@ -30,6 +30,11 @@ tfail()
|
||||
do_test "tfail" false
|
||||
}
|
||||
|
||||
tfail2()
|
||||
{
|
||||
do_test "tfail2" false
|
||||
}
|
||||
|
||||
txfail()
|
||||
{
|
||||
FAIL_TO_XFAIL=yes do_test "txfail" false
|
||||
@@ -132,6 +137,8 @@ test_ret()
|
||||
ret_subtest $ksft_fail "tfail" txfail tfail
|
||||
|
||||
ret_subtest $ksft_xfail "txfail" txfail txfail
|
||||
|
||||
ret_subtest $ksft_fail "tfail2" tfail2 tfail
|
||||
}
|
||||
|
||||
exit_status_tests_run()
|
||||
|
||||
@@ -40,7 +40,7 @@ __ksft_status_merge()
|
||||
weights[$i]=$((weight++))
|
||||
done
|
||||
|
||||
if [[ ${weights[$a]} > ${weights[$b]} ]]; then
|
||||
if [[ ${weights[$a]} -ge ${weights[$b]} ]]; then
|
||||
echo "$a"
|
||||
return 0
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user