]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
tests: shell: skip pipapo tests if kernel lacks support
authorPablo Neira Ayuso <pablo@netfilter.org>
Mon, 6 Nov 2023 18:49:00 +0000 (19:49 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Sat, 11 Nov 2023 08:45:51 +0000 (09:45 +0100)
Skip tests that require net/netfilter/nft_set_pipapo support.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
12 files changed:
tests/shell/features/pipapo.nft [new file with mode: 0644]
tests/shell/testcases/maps/0013map_0
tests/shell/testcases/maps/anon_objmap_concat
tests/shell/testcases/maps/typeof_integer_0
tests/shell/testcases/optimizations/merge_stmts_concat
tests/shell/testcases/optimizations/merge_vmap_raw
tests/shell/testcases/sets/0034get_element_0
tests/shell/testcases/sets/0043concatenated_ranges_0
tests/shell/testcases/sets/0043concatenated_ranges_1
tests/shell/testcases/sets/0044interval_overlap_0
tests/shell/testcases/sets/0047nat_0
tests/shell/testcases/sets/concat_interval_0

diff --git a/tests/shell/features/pipapo.nft b/tests/shell/features/pipapo.nft
new file mode 100644 (file)
index 0000000..3557721
--- /dev/null
@@ -0,0 +1,9 @@
+# 3c4287f62044 ("nf_tables: Add set type for arbitrary concatenation of ranges")
+# v5.6-rc1~151^2~28^2~1
+table t {
+       set s {
+               type ipv4_addr . inet_service
+               flags interval
+               elements = { 1.1.1.1-2.2.2.2 . 80-90 }
+       }
+}
index 70d7fd3b002f48673031ef226509f3f7adcc950e..c8d20cee7ca7c9701e7a8ef0e56cf00729213f9f 100755 (executable)
@@ -1,5 +1,7 @@
 #!/bin/bash
 
+# NFT_TEST_REQUIRES(NFT_TEST_HAVE_pipapo)
+
 set -e
 
 RULESET="
index 07820b7c4fdd80716baa3bb40ea156d1a9eb392a..34465f1da0bec3138d84ddd0bfd20ed12ecb17ef 100755 (executable)
@@ -1,5 +1,7 @@
 #!/bin/bash
 
+# NFT_TEST_REQUIRES(NFT_TEST_HAVE_pipapo)
+
 set -e
 dumpfile=$(dirname $0)/dumps/$(basename $0).nft
 
index 0deff5eef67b0582475a87de3c30dfb681ae8ad4..e93604e849c74970157851e858a55977805ed6d1 100755 (executable)
@@ -1,5 +1,7 @@
 #!/bin/bash
 
+# NFT_TEST_REQUIRES(NFT_TEST_HAVE_pipapo)
+
 EXPECTED="table inet t {
        map m1 {
                typeof udp length . @ih,32,32 : verdict
index 9679d86223fd1ce918fff2f61a6ae786093a494e..4db4a6f90944bc8c9fe7e0367f7fda805912e70f 100755 (executable)
@@ -1,5 +1,7 @@
 #!/bin/bash
 
+# NFT_TEST_REQUIRES(NFT_TEST_HAVE_pipapo)
+
 set -e
 
 RULESET="table ip x {
index f3dc0721b94ffb52c7b53a32b59d8f11c813b7a2..eb04bec3ae6972c2c8304c033da371336ce85ecb 100755 (executable)
@@ -1,5 +1,7 @@
 #!/bin/bash
 
+# NFT_TEST_REQUIRES(NFT_TEST_HAVE_pipapo)
+
 set -e
 
 RULESET="table inet x {
index 3343529b8ffa73bbb4380cac391638e592d75051..32375b9f50c2cfe0a9cd4bcfcd416fb3872fa464 100755 (executable)
@@ -1,5 +1,7 @@
 #!/bin/bash
 
+# NFT_TEST_REQUIRES(NFT_TEST_HAVE_pipapo)
+
 RC=0
 
 check() { # (set, elems, expected)
index 83d743503c7b5aea47ab8e4d092e66d81dfb313e..a3dbf5bf28ba38df55c9284d124fc527bb8ecf81 100755 (executable)
@@ -1,5 +1,6 @@
 #!/bin/bash -e
 #
+# NFT_TEST_REQUIRES(NFT_TEST_HAVE_pipapo)
 # NFT_TEST_SKIP(NFT_TEST_SKIP_slow)
 #
 # 0043concatenated_ranges_0 - Add, get, list, timeout for concatenated ranges
index 1be2889352c98769ea725d2b4b319a1b2aae3303..bb3bf6b27ea76099bb940e3aafe15a2539637c3c 100755 (executable)
@@ -2,6 +2,8 @@
 #
 # 0043concatenated_ranges_1 - Insert and list subnets of different sizes
 
+# NFT_TEST_REQUIRES(NFT_TEST_HAVE_pipapo)
+
 check() {
        $NFT add element "${1}" t s "{ ${2} . ${3} }"
        [ "$( $NFT list set "${1}" t s | grep -c "${2} . ${3}" )" = 1 ]
index 71bf3345a558bd96a13ddd03a35b424c3dd9c0b3..b0f51cc8873b4e4d4010c626df15f4c21e97f593 100755 (executable)
@@ -117,7 +117,11 @@ add_elements() {
        IFS='   
 '
        for t in ${intervals_simple} switch ${intervals_concat}; do
+if [ "$NFT_TEST_HAVE_pipapo" = y ] ; then
                [ "${t}" = "switch" ] && set="c"         && continue
+else
+               break
+fi
                [ -z "${pass}" ]      && pass="${t}"     && continue
                [ -z "${interval}" ]  && interval="${t}" && continue
                unset IFS
@@ -148,7 +152,9 @@ add_elements() {
 
 $NFT add table t
 $NFT add set t s '{ type inet_service ; flags interval ; }'
-$NFT add set t c '{ type inet_service . inet_service ; flags interval ; }'
+if [ "$NFT_TEST_HAVE_pipapo" = y ] ; then
+       $NFT add set t c '{ type inet_service . inet_service ; flags interval ; }'
+fi
 add_elements
 
 $NFT flush ruleset
@@ -157,7 +163,9 @@ estimate_timeout
 $NFT flush ruleset
 $NFT add table t
 $NFT add set t s "{ type inet_service ; flags interval,timeout; timeout ${timeout}s; gc-interval ${timeout}s; }"
-$NFT add set t c "{ type inet_service . inet_service ; flags interval,timeout ; timeout ${timeout}s; gc-interval ${timeout}s; }"
+if [ "$NFT_TEST_HAVE_pipapo" = y ] ; then
+       $NFT add set t c "{ type inet_service . inet_service ; flags interval,timeout ; timeout ${timeout}s; gc-interval ${timeout}s; }"
+fi
 add_elements
 
 sleep $((timeout * 3 / 2))
index 4e53b7b8e8c81cd0db0a6aa8cc5c7d39dfcdfed1..757605ee34928480115591a89480187b4380169e 100755 (executable)
@@ -1,5 +1,7 @@
 #!/bin/bash
 
+# NFT_TEST_REQUIRES(NFT_TEST_HAVE_pipapo)
+
 EXPECTED="table ip x {
             map y {
                     type ipv4_addr : interval ipv4_addr
index 4d90af9a65579e5719e46f13618a24d441dc4073..36138ae0de786e4b35435de1901958f41c015064 100755 (executable)
@@ -1,5 +1,7 @@
 #!/bin/bash
 
+# NFT_TEST_REQUIRES(NFT_TEST_HAVE_pipapo)
+
 set -e
 
 RULESET="table ip t {