]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
tests: shell: named_limits: minor tweak to ease debugging master
authorFlorian Westphal <fw@strlen.de>
Fri, 30 Jan 2026 12:29:39 +0000 (13:29 +0100)
committerFlorian Westphal <fw@strlen.de>
Fri, 30 Jan 2026 12:34:07 +0000 (13:34 +0100)
Make it easier to see where this test failed and dump the
ruleset on error.

Signed-off-by: Florian Westphal <fw@strlen.de>
tests/shell/testcases/maps/named_limits

index ac8e434cce050dbda728e5bbd5c04913dd4449da..1316431c3c91067dac58fcf157518d0f563a2c28 100755 (executable)
@@ -6,36 +6,48 @@ dumpfile=$(dirname $0)/dumps/$(basename $0).nft
 
 $NFT -f "$dumpfile" || exit 1
 
+die_err() {
+       echo "FAIL: Command $@ failed"
+       $NFT list ruleset
+       exit 1
+}
+
+die_ok_err() {
+       echo "FAIL: Command $@ worked but should have failed"
+       $NFT list ruleset
+       exit 1
+}
+
 add_add_then_create()
 {
        cmd="$@"
 
-       $NFT "add element inet filter $cmd" || exit 2
+       $NFT "add element inet filter $cmd" || die_err "add $cmd"
 
        # again, kernel should suppress -EEXIST
-       $NFT "add element inet filter $cmd" || exit 3
+       $NFT "add element inet filter $cmd" || die_err "re-add $cmd"
 
        # AGAIN, kernel should report -EEXIST
-       $NFT "create element inet filter $cmd" && echo "$cmd worked" 1>&2 && exit 4
+       $NFT "create element inet filter $cmd" && die_ok_err "create $cmd"
 }
 
 add_create_dupe()
 {
        cmd="$@"
 
-       $NFT "add element inet filter $cmd" && echo "$cmd worked" 1>&2 && exit 10
-       $NFT "create element inet filter $cmd" && echo "$cmd worked" 1>&2 && exit 11
+       $NFT "add element inet filter $cmd" && die_ok_err "add $cmd (dupe)"
+       $NFT "create element inet filter $cmd" && die_ok_err "create $cmd (dupe)"
 }
 
 delete()
 {
        cmd="$@"
 
-       $NFT "delete element inet filter $cmd" || exit 30
-       $NFT "delete element inet filter $cmd" && echo "$cmd worked" 1>&2 && exit 31
+       $NFT "delete element inet filter $cmd" || die_err "delete $cmd"
+       $NFT "delete element inet filter $cmd" && die_ok_err "delete $cmd"
 
        # destroy should NOT report an error
-#      $NFT "destroy element inet filter $cmd" || exit 40
+#      $NFT "destroy element inet filter $cmd" || die_err "destroy $cmd"
 }
 
 add_add_then_create 'saddr6limit { fee1::dead : "tarpit-pps" }'