]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
selftests: netfilter: prefer xfail in case race wasn't triggered
authorFlorian Westphal <fw@strlen.de>
Mon, 8 Dec 2025 23:03:36 +0000 (00:03 +0100)
committerFlorian Westphal <fw@strlen.de>
Wed, 10 Dec 2025 10:55:59 +0000 (11:55 +0100)
Jakub says: "We try to reserve SKIP for tests skipped because tool is
missing in env, something isn't built into the kernel etc."

use xfail, we can't force the race condition to appear at will
so its expected that the test 'fails' occasionally.

Fixes: 78a588363587 ("selftests: netfilter: add conntrack clash resolution test case")
Reported-by: Jakub Kicinski <kuba@kernel.org>
Closes: https://lore.kernel.org/netdev/20251206175647.5c32f419@kernel.org/
Signed-off-by: Florian Westphal <fw@strlen.de>
tools/testing/selftests/net/netfilter/conntrack_clash.sh

index 7fc6c5dbd5516e91272ebb75e204b50873640a7d..84b8eb12143ae79d7ed13bcc12b01cacf51299e0 100755 (executable)
@@ -116,7 +116,7 @@ run_one_clash_test()
        # not a failure: clash resolution logic did not trigger.
        # With right timing, xmit completed sequentially and
        # no parallel insertion occurs.
-       return $ksft_skip
+       return $ksft_xfail
 }
 
 run_clash_test()
@@ -133,12 +133,12 @@ run_clash_test()
                if [ $rv -eq 0 ];then
                        echo "PASS: clash resolution test for $daddr:$dport on attempt $i"
                        return 0
-               elif [ $rv -eq $ksft_skip ]; then
+               elif [ $rv -eq $ksft_xfail ]; then
                        softerr=1
                fi
        done
 
-       [ $softerr -eq 1 ] && echo "SKIP: clash resolution for $daddr:$dport did not trigger"
+       [ $softerr -eq 1 ] && echo "XFAIL: clash resolution for $daddr:$dport did not trigger"
 }
 
 ip link add veth0 netns "$nsclient1" type veth peer name veth0 netns "$nsrouter"
@@ -167,8 +167,7 @@ load_simple_ruleset "$nsclient2"
 run_clash_test "$nsclient2" "$nsclient2" 127.0.0.1 9001
 
 if [ $clash_resolution_active -eq 0 ];then
-       [ "$ret" -eq 0 ] && ret=$ksft_skip
-       echo "SKIP: Clash resolution did not trigger"
+       [ "$ret" -eq 0 ] && ret=$ksft_xfail
 fi
 
 exit $ret