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

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