From 5157b540532338184b3867bc0370a8a27cef56f9 Mon Sep 17 00:00:00 2001
From: Eric Garver <eric@garver.life>
Date: Thu, 31 Oct 2019 12:57:23 -0400
Subject: [PATCH 120/122] fix: tests: convert ip6tables checks to runtime
(cherry picked from commit 49d4021e6ebf74e82142ca4fa6e6715a80d9b547)
(cherry picked from commit 7328e687353fbba92e303a97cf5f2c25884e6dae)
---
src/tests/firewall-cmd.at | 2 +-
src/tests/functions.at | 14 ++++++++------
src/tests/regression/rhbz1594657.at | 2 +-
3 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/src/tests/firewall-cmd.at b/src/tests/firewall-cmd.at
index 2977cd6b5332..e9d5b6d1abc0 100644
--- a/src/tests/firewall-cmd.at
+++ b/src/tests/firewall-cmd.at
@@ -831,7 +831,7 @@ FWD_START_TEST([direct passthrough])
FWD_CHECK([--direct --remove-passthrough ipv4 --table filter --append INPUT --in-interface dummy0 --protocol tcp --destination-port 67 --jump ACCEPT], 0, ignore)
FWD_CHECK([--direct --query-passthrough ipv4 --table filter --append INPUT --in-interface dummy0 --protocol tcp --destination-port 67 --jump ACCEPT], 1, ignore, ignore)
- m4_if(yes, HOST_SUPPORTS_IP6TABLES, [dnl
+ IF_HOST_SUPPORTS_IP6TABLES([
FWD_CHECK([--direct --add-passthrough ipv6 --table filter --append FORWARD --destination fd00:dead:beef:ff0::/64 --in-interface dummy0 --out-interface dummy0 --jump ACCEPT], 0, ignore)
FWD_CHECK([--direct --get-passthroughs ipv6 | grep "fd00:dead:beef:ff0::/64"], 0, ignore)
FWD_CHECK([--direct --get-all-passthroughs | grep "fd00:dead:beef:ff0::/64"], 0, ignore)
diff --git a/src/tests/functions.at b/src/tests/functions.at
index 97506cc1396f..97df8914444a 100644
--- a/src/tests/functions.at
+++ b/src/tests/functions.at
@@ -256,7 +256,7 @@ m4_define([IPTABLES_LIST_RULES], [
m4_define([IP6TABLES_LIST_RULES_ALWAYS], [
m4_ifdef([TESTING_FIREWALL_OFFLINE_CMD], [], [
- m4_if(yes, HOST_SUPPORTS_IP6TABLES, [
+ IF_HOST_SUPPORTS_IP6TABLES([
NS_CHECK([$IP6TABLES -w -n -t $1 -L $2 | TRIM_WHITESPACE | tail -n +3], [$3], [m4_strip([$4])], [m4_strip([$5])], [$6], [$7])
])
])
@@ -422,13 +422,15 @@ m4_define([IF_HOST_SUPPORTS_NFT_FIB], [
fi
])
-m4_define([HOST_SUPPORTS_IP6TABLES], m4_esyscmd(
+m4_define([IF_HOST_SUPPORTS_IP6TABLES], [
if $IP6TABLES -L >/dev/null 2>&1; then
- echo -n "yes"
+ :
+ $1
else
- echo -n "no"
+ :
+ $2
fi
-))
+])
m4_define([HOST_SUPPORTS_IPV6], m4_esyscmd(
if sysctl -a |grep -F "net.ipv6" >/dev/null 2>&1; then
@@ -441,6 +443,6 @@ m4_define([HOST_SUPPORTS_IPV6], m4_esyscmd(
m4_define([IF_IPV6_SUPPORTED], [
m4_ifdef([TESTING_FIREWALL_OFFLINE_CMD], [$1], [
m4_if(nftables, FIREWALL_BACKEND, [$1], [
- m4_if(yes, HOST_SUPPORTS_IP6TABLES, [$1], [$2])
+ IF_HOST_SUPPORTS_IP6TABLES([$1], [$2])
])])
])
diff --git a/src/tests/regression/rhbz1594657.at b/src/tests/regression/rhbz1594657.at
index 33b7bafe6b08..93cc2c2ef5b8 100644
--- a/src/tests/regression/rhbz1594657.at
+++ b/src/tests/regression/rhbz1594657.at
@@ -6,7 +6,7 @@ FWD_CHECK([--direct --passthrough ipv4 -t filter -C dummy_chain -j ACCEPT], 13,
FWD_CHECK([--direct --passthrough ipv4 -t filter -L dummy_chain], 13, [ignore], [ignore])
FWD_CHECK([--direct --passthrough ipv4 -t filter -L INPUT], 0, [ignore])
-m4_if(yes, HOST_SUPPORTS_IP6TABLES, [dnl
+IF_HOST_SUPPORTS_IP6TABLES([
FWD_CHECK([--direct --passthrough ipv6 -t filter -C dummy_chain -j ACCEPT], 13, [ignore], [ignore])
FWD_CHECK([--direct --passthrough ipv6 -t filter -L dummy_chain], 13, [ignore], [ignore])
FWD_CHECK([--direct --passthrough ipv6 -t filter -L INPUT], 0, [ignore])
--
2.23.0