]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
tests: shell: skip stateful expression in sets tests if kernel lacks support
authorPablo Neira Ayuso <pablo@netfilter.org>
Mon, 6 Nov 2023 19:51:56 +0000 (20:51 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Sat, 11 Nov 2023 08:51:03 +0000 (09:51 +0100)
Skip tests that require stateful expressions in sets.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
tests/shell/features/set_expr.sh [new file with mode: 0755]
tests/shell/testcases/json/0002table_map_0
tests/shell/testcases/maps/0009vmap_0
tests/shell/testcases/optimizations/merge_stmts_vmap
tests/shell/testcases/sets/0048set_counters_0
tests/shell/testcases/sets/0051set_interval_counter_0
tests/shell/testcases/sets/elem_opts_compat_0

diff --git a/tests/shell/features/set_expr.sh b/tests/shell/features/set_expr.sh
new file mode 100755 (executable)
index 0000000..fbdfc22
--- /dev/null
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+# 65038428b2c6 ("netfilter: nf_tables: allow to specify stateful expression in set definition")
+# v5.7-rc1~146^2~12^2~25
+
+# NFT_SET_EXPR to detect kernel feature only available since
+# b4e70d8dd9ea ("netfilter: nftables: add set expression flags")
+# v5.11-rc3~39^2^2
+
+EXPECTED="table ip x {
+       set y {
+               typeof ip saddr
+               counter
+       }
+}"
+
+$NFT -f - <<< $EXPECTED
+
+diff -u <($NFT list ruleset) - <<<"$EXPECTED"
index b375e9969608c74a77c26095182e5a8c950f5c38..a1e9f2634978e830beac9d23a35b14bab073d56e 100755 (executable)
@@ -1,6 +1,7 @@
 #!/bin/bash
 
 # NFT_TEST_REQUIRES(NFT_TEST_HAVE_json)
+# NFT_TEST_REQUIRES(NFT_TEST_HAVE_set_expr)
 
 set -e
 
index d31e1608f792c91b41388d4bf1600031de96f9e0..4e133b72f6ef012e3f0d89fdfa503ba285d0b347 100755 (executable)
@@ -1,5 +1,7 @@
 #!/bin/bash
 
+# NFT_TEST_REQUIRES(NFT_TEST_HAVE_set_expr)
+
 set -e
 
 EXPECTED="table inet filter {
index 6e0f0762b7bb4dc616a045b4f8d602035f6f33c1..e5357c0f66b6fa2f4ff468d1f8fe63dac4f5fe7b 100755 (executable)
@@ -1,5 +1,7 @@
 #!/bin/bash
 
+# NFT_TEST_REQUIRES(NFT_TEST_HAVE_set_expr)
+
 set -e
 
 RULESET="table ip x {
index e62d25df799c838510c11de8ac9e175778e4d8ed..95babdc9ca5ffadc972e5015a51a52efb1aec71d 100755 (executable)
@@ -1,5 +1,7 @@
 #!/bin/bash
 
+# NFT_TEST_REQUIRES(NFT_TEST_HAVE_set_expr)
+
 set -e
 
 EXPECTED="table ip x {
index ea90e264bfcc487ca73755d8cdcbb29ea3093b08..6e67a43c577a98ca63575992a22ecae88359f989 100755 (executable)
@@ -1,5 +1,7 @@
 #!/bin/bash
 
+# NFT_TEST_REQUIRES(NFT_TEST_HAVE_set_expr)
+
 set -e
 
 EXPECTED="table ip x {
index 3467cc07e646921671fb481bd35de41f682a3e41..7563773e626f3be085e1fdd1ffdb6794912b3adf 100755 (executable)
@@ -1,5 +1,7 @@
 #!/bin/bash
 
+# NFT_TEST_REQUIRES(NFT_TEST_HAVE_set_expr)
+
 # ordering of element options and expressions has changed, make sure parser
 # accepts both ways