From: Florian Westphal <fw@strlen.de>
To: <netfilter-devel@vger.kernel.org>
Cc: Florian Westphal <fw@strlen.de>
Subject: [PATCH nft 2/5] tests: shell: let netdev_chain_0 test indicate SKIP if kernel requires netdev device
Date: Mon, 4 Sep 2023 11:06:31 +0200 [thread overview]
Message-ID: <20230904090640.3015-3-fw@strlen.de> (raw)
In-Reply-To: <20230904090640.3015-1-fw@strlen.de>
This test case only works on kernel 6.4+.
Add feature probe for this and then exit early.
We don't want to indicate a test failure, as this test doesn't apply
on older kernels.
But we should not indicate sucess either, else we might be fooled
in case something went wrong during feature probe.
Add a special return value, 123, and let run-tests.sh count this
as 'SKIPPED'.
Signed-off-by: Florian Westphal <fw@strlen.de>
---
tests/shell/features/netdev_chain_without_device.nft | 7 +++++++
tests/shell/run-tests.sh | 11 ++++++++++-
tests/shell/testcases/chains/netdev_chain_0 | 2 ++
3 files changed, 19 insertions(+), 1 deletion(-)
create mode 100644 tests/shell/features/netdev_chain_without_device.nft
diff --git a/tests/shell/features/netdev_chain_without_device.nft b/tests/shell/features/netdev_chain_without_device.nft
new file mode 100644
index 000000000000..25eb200ffe31
--- /dev/null
+++ b/tests/shell/features/netdev_chain_without_device.nft
@@ -0,0 +1,7 @@
+# 207296f1a03b ("netfilter: nf_tables: allow to create netdev chain without device")
+# v6.4-rc1~132^2~14^2
+table netdev t {
+ chain c {
+ type filter hook ingress priority 0; policy accept;
+ }
+}
diff --git a/tests/shell/run-tests.sh b/tests/shell/run-tests.sh
index 3113404de2b9..17cab3f11c9b 100755
--- a/tests/shell/run-tests.sh
+++ b/tests/shell/run-tests.sh
@@ -161,6 +161,7 @@ fi
echo ""
ok=0
failed=0
+skipped=0
taint=0
check_features()
@@ -270,6 +271,9 @@ do
msg_warn "[DUMP FAIL] $testfile"
fi
fi
+ elif [ "$rc_got" -eq 123 ]; then
+ ((skipped++))
+ msg_info "[SKIPPED] $testfile"
else
((failed++))
if [ "$VERBOSE" == "y" ] ; then
@@ -294,7 +298,12 @@ echo ""
kmemleak_found=0
check_kmemleak_force
-msg_info "results: [OK] $ok [FAILED] $failed [TOTAL] $((ok+failed))"
+msg_info "results: [OK] $ok [FAILED] $failed [SKIPPED] $skipped [TOTAL] $((ok+failed+skipped))"
+
+if [ $ok -eq 0 -a $failed -eq 0 ]; then
+ # no test cases were run, indicate a failure
+ failed=1
+fi
if [ "$VERBOSE" == "y" ] ; then
echo "Probed Features:"
diff --git a/tests/shell/testcases/chains/netdev_chain_0 b/tests/shell/testcases/chains/netdev_chain_0
index 67cd715fc59f..2e2a0c177fcb 100755
--- a/tests/shell/testcases/chains/netdev_chain_0
+++ b/tests/shell/testcases/chains/netdev_chain_0
@@ -1,5 +1,7 @@
#!/bin/bash
+[ "$NFT_HAVE_netdev_chain_without_device" -eq 0 ] && exit 123
+
ip link add d0 type dummy || {
echo "Skipping, no dummy interface available"
exit 0
--
2.41.0
next prev parent reply other threads:[~2023-09-04 9:07 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-04 9:06 [PATCH nft 0/5] tests: shell: add and use feature probing Florian Westphal
2023-09-04 9:06 ` [PATCH nft 1/5] tests: add " Florian Westphal
2023-09-05 13:00 ` Phil Sutter
2023-09-05 13:44 ` Florian Westphal
2023-09-05 14:01 ` Phil Sutter
2023-09-05 14:09 ` Florian Westphal
2023-09-05 20:28 ` Phil Sutter
2023-09-06 5:17 ` Thomas Haller
2023-09-06 14:36 ` Thomas Haller
2023-09-04 9:06 ` Florian Westphal [this message]
2023-09-05 13:03 ` [PATCH nft 2/5] tests: shell: let netdev_chain_0 test indicate SKIP if kernel requires netdev device Phil Sutter
2023-09-06 13:42 ` Thomas Haller
2023-09-04 9:06 ` [PATCH nft 3/5] tests: shell: typeof_integer/raw: prefer @nh for payload matching Florian Westphal
2023-09-04 9:06 ` [PATCH nft 4/5] tests: shell: add and use feature probe for map query like a set Florian Westphal
2023-09-06 14:39 ` Thomas Haller
2023-09-04 9:06 ` [PATCH nft 5/5] tests: shell skip inner matching tests if unsupported Florian Westphal
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230904090640.3015-3-fw@strlen.de \
--to=fw@strlen.de \
--cc=netfilter-devel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).