From 7359704b708b34bb0604e676d0945063d5e57800 Mon Sep 17 00:00:00 2001 From: Florian Westphal Date: Mon, 18 Sep 2023 12:28:20 +0200 Subject: tests/shell: skip some tests if kernel lacks netdev egress support Signed-off-by: Florian Westphal Signed-off-by: Thomas Haller --- tests/shell/features/netdev_egress.nft | 7 +++++++ tests/shell/testcases/chains/0021prio_0 | 7 ++++++- tests/shell/testcases/chains/0042chain_variable_0 | 5 +++++ 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 tests/shell/features/netdev_egress.nft diff --git a/tests/shell/features/netdev_egress.nft b/tests/shell/features/netdev_egress.nft new file mode 100644 index 00000000..67d706d8 --- /dev/null +++ b/tests/shell/features/netdev_egress.nft @@ -0,0 +1,7 @@ +# 42df6e1d221d ("netfilter: Introduce egress hook") +# v5.16-rc1~159^2~167^2~10 +table netdev t { + chain c { + type filter hook egress devices = { lo } priority 0; policy accept; + } +} diff --git a/tests/shell/testcases/chains/0021prio_0 b/tests/shell/testcases/chains/0021prio_0 index d450dc0b..ceda1558 100755 --- a/tests/shell/testcases/chains/0021prio_0 +++ b/tests/shell/testcases/chains/0021prio_0 @@ -69,7 +69,7 @@ done family=netdev echo "add table $family x" gen_chains $family ingress filter lo -gen_chains $family egress filter lo +[ "$NFT_TEST_HAVE_netdev_egress" != n ] && gen_chains $family egress filter lo family=bridge echo "add table $family x" @@ -83,3 +83,8 @@ gen_chains $family postrouting srcnat ) >$tmpfile $NFT -f $tmpfile + +if [ "$NFT_TEST_HAVE_netdev_egress" = n ]; then + echo "Ran a modified version of the test due to NFT_TEST_HAVE_netdev_egress=n" + exit 77 +fi diff --git a/tests/shell/testcases/chains/0042chain_variable_0 b/tests/shell/testcases/chains/0042chain_variable_0 index f71b0415..1ea44e85 100755 --- a/tests/shell/testcases/chains/0042chain_variable_0 +++ b/tests/shell/testcases/chains/0042chain_variable_0 @@ -24,6 +24,11 @@ table netdev filter2 { $NFT -f - <<< $EXPECTED +if [ "$NFT_TEST_HAVE_netdev_egress" = n ] ; then + echo "Skip parts of the test due to NFT_TEST_HAVE_netdev_egress=n" + exit 77 +fi + EXPECTED="define if_main = { lo, dummy0 } define lan_interfaces = { lo } -- cgit v1.2.3