Blame SOURCES/0025-test-functions-add-macro-IF_HOST_SUPPORTS_NFT_RULE_I.patch

1ae9b3
From 571c32c466f0516d0543926828ce49b004ce584f Mon Sep 17 00:00:00 2001
1ae9b3
From: Eric Garver <eric@garver.life>
1ae9b3
Date: Mon, 11 May 2020 17:19:12 -0400
1ae9b3
Subject: [PATCH 25/45] test(functions): add macro
1ae9b3
 IF_HOST_SUPPORTS_NFT_RULE_INDEX
1ae9b3
1ae9b3
(cherry picked from commit 735eb589b2a18129b2b8a9d4dfe8b9375757619a)
1ae9b3
(cherry picked from commit cda25d11a9e333ee5cdd9d7e084e7075cb1550bb)
1ae9b3
---
1ae9b3
 src/tests/functions.at | 24 ++++++++++++++++++++++++
1ae9b3
 1 file changed, 24 insertions(+)
1ae9b3
1ae9b3
diff --git a/src/tests/functions.at b/src/tests/functions.at
1ae9b3
index 8f5ceba4d3f2..f83720595d2f 100644
1ae9b3
--- a/src/tests/functions.at
1ae9b3
+++ b/src/tests/functions.at
1ae9b3
@@ -598,3 +598,27 @@ m4_define([NMCLI_CHECK], [
1ae9b3
     NS_CHECK([PIPESTATUS0([nmcli $1], [TRIM_WHITESPACE])],
1ae9b3
              [$2], [m4_strip([$3])], [m4_strip([$4])], [$5], [$6])
1ae9b3
 ])
1ae9b3
+
1ae9b3
+m4_define([IF_HOST_SUPPORTS_NFT_RULE_INDEX], [
1ae9b3
+    m4_if(nftables, FIREWALL_BACKEND, [
1ae9b3
+        AT_DATA([./nft_rule_index.nft], [
1ae9b3
+            add table inet firewalld_check_rule_index
1ae9b3
+            add chain inet firewalld_check_rule_index foobar { type filter hook input priority 0 ; }
1ae9b3
+            add rule inet firewalld_check_rule_index foobar tcp dport 1234 accept
1ae9b3
+            add rule inet firewalld_check_rule_index foobar accept
1ae9b3
+            insert rule inet firewalld_check_rule_index foobar index 1 udp dport 4321 accept
1ae9b3
+])
1ae9b3
+        NS_CHECK([nft -f ./nft_rule_index.nft])
1ae9b3
+
1ae9b3
+        if test "$( NS_CMD([nft list chain inet firewalld_check_rule_index foobar | head -n 5 |tail -n 1 | TRIM_WHITESPACE]) )" = "udp dport 4321 accept"; then
1ae9b3
+            :
1ae9b3
+            $1
1ae9b3
+        else
1ae9b3
+            :
1ae9b3
+            $2
1ae9b3
+        fi
1ae9b3
+
1ae9b3
+        NS_CHECK([rm ./nft_rule_index.nft])
1ae9b3
+        NS_CHECK([nft delete table inet firewalld_check_rule_index])
1ae9b3
+    ], [$1])
1ae9b3
+])
1ae9b3
-- 
1ae9b3
2.27.0
1ae9b3