|
|
8a3219 |
From 7bfd5446e2926f9a061d883c60c78c88532a34da Mon Sep 17 00:00:00 2001
|
|
|
8a3219 |
From: Eric Garver <eric@garver.life>
|
|
|
8a3219 |
Date: Mon, 17 Jun 2019 11:00:01 -0400
|
|
|
8a3219 |
Subject: [PATCH 05/20] test: use PIPESTATUS0 in LIST macros
|
|
|
8a3219 |
|
|
|
8a3219 |
This so we get the return code from the first command instead of all the
|
|
|
8a3219 |
sed/filtering we do afterwards.
|
|
|
8a3219 |
|
|
|
8a3219 |
Also moves the NORMALIZE functions into the top-level. Avoids
|
|
|
8a3219 |
unnecessary define/undefine.
|
|
|
8a3219 |
|
|
|
8a3219 |
(cherry picked from commit ae18f69bdf2ef664646751787dd7ab44988912f3)
|
|
|
8a3219 |
---
|
|
|
8a3219 |
src/tests/functions.at | 67 +++++++++++++++++++++++++++++-------------
|
|
|
8a3219 |
1 file changed, 47 insertions(+), 20 deletions(-)
|
|
|
8a3219 |
|
|
|
8a3219 |
diff --git a/src/tests/functions.at b/src/tests/functions.at
|
|
|
8a3219 |
index 932e288f1597..69f71c133d15 100644
|
|
|
8a3219 |
--- a/src/tests/functions.at
|
|
|
8a3219 |
+++ b/src/tests/functions.at
|
|
|
8a3219 |
@@ -250,18 +250,29 @@ m4_define([PIPESTATUS0], [dnl
|
|
|
8a3219 |
HERE
|
|
|
8a3219 |
])
|
|
|
8a3219 |
|
|
|
8a3219 |
+m4_define([EBTABLES_LIST_RULES_NORMALIZE], [dnl
|
|
|
8a3219 |
+ TRIM_WHITESPACE | dnl
|
|
|
8a3219 |
+ grep -v "^Bridge" | dnl
|
|
|
8a3219 |
+ [sed -e 's/\([-][-][-a-zA-Z0-9]\+\)[ ]\+[!]/! \1/g'] dnl
|
|
|
8a3219 |
+])
|
|
|
8a3219 |
+
|
|
|
8a3219 |
m4_define([EBTABLES_LIST_RULES], [
|
|
|
8a3219 |
dnl ebtables commit 5f508b76a0ce change list output for inversion.
|
|
|
8a3219 |
- m4_define([EBTABLES_LIST_RULES_NORMALIZE], [[sed -e 's/\([-][-][-a-zA-Z0-9]\+\)[ ]\+[!]/! \1/g']])
|
|
|
8a3219 |
m4_ifdef([TESTING_FIREWALL_OFFLINE_CMD], [], [
|
|
|
8a3219 |
- NS_CHECK([ebtables --concurrent -t $1 -L $2 | TRIM_WHITESPACE | grep -v "^Bridge" | EBTABLES_LIST_RULES_NORMALIZE], [$3], [m4_strip([$4])], [m4_strip([$5])], [$6], [$7])
|
|
|
8a3219 |
+ NS_CHECK([PIPESTATUS0([ebtables --concurrent -t $1 -L $2], [EBTABLES_LIST_RULES_NORMALIZE])],
|
|
|
8a3219 |
+ [$3], [m4_strip([$4])], [m4_strip([$5])], [$6], [$7])
|
|
|
8a3219 |
])
|
|
|
8a3219 |
- m4_undefine([EBTABLES_LIST_RULES_NORMALIZE])
|
|
|
8a3219 |
+])
|
|
|
8a3219 |
+
|
|
|
8a3219 |
+m4_define([IPTABLES_LIST_RULES_NORMALIZE], [dnl
|
|
|
8a3219 |
+ TRIM_WHITESPACE | dnl
|
|
|
8a3219 |
+ tail -n +3 dnl
|
|
|
8a3219 |
])
|
|
|
8a3219 |
|
|
|
8a3219 |
m4_define([IPTABLES_LIST_RULES_ALWAYS], [
|
|
|
8a3219 |
m4_ifdef([TESTING_FIREWALL_OFFLINE_CMD], [], [
|
|
|
8a3219 |
- NS_CHECK([IPTABLES -w -n -t $1 -L $2 | TRIM_WHITESPACE | tail -n +3], [$3], [m4_strip([$4])], [m4_strip([$5])], [$6], [$7])
|
|
|
8a3219 |
+ NS_CHECK([PIPESTATUS0([IPTABLES -w -n -t $1 -L $2], [IPTABLES_LIST_RULES_NORMALIZE])],
|
|
|
8a3219 |
+ [$3], [m4_strip([$4])], [m4_strip([$5])], [$6], [$7])
|
|
|
8a3219 |
])
|
|
|
8a3219 |
])
|
|
|
8a3219 |
|
|
|
8a3219 |
@@ -271,11 +282,17 @@ m4_define([IPTABLES_LIST_RULES], [
|
|
|
8a3219 |
])
|
|
|
8a3219 |
])
|
|
|
8a3219 |
|
|
|
8a3219 |
+m4_define([IP6TABLES_LIST_RULES_NORMALIZE], [dnl
|
|
|
8a3219 |
+ TRIM_WHITESPACE | dnl
|
|
|
8a3219 |
+ tail -n +3 dnl
|
|
|
8a3219 |
+])
|
|
|
8a3219 |
+
|
|
|
8a3219 |
m4_define([IP6TABLES_LIST_RULES_ALWAYS], [
|
|
|
8a3219 |
m4_ifdef([TESTING_FIREWALL_OFFLINE_CMD], [], [
|
|
|
8a3219 |
- m4_if(yes, HOST_SUPPORTS_IP6TABLES, [
|
|
|
8a3219 |
- NS_CHECK([IP6TABLES -w -n -t $1 -L $2 | TRIM_WHITESPACE | tail -n +3], [$3], [m4_strip([$4])], [m4_strip([$5])], [$6], [$7])
|
|
|
8a3219 |
- ])
|
|
|
8a3219 |
+ m4_if(yes, HOST_SUPPORTS_IP6TABLES, [
|
|
|
8a3219 |
+ NS_CHECK([PIPESTATUS0([IP6TABLES -w -n -t $1 -L $2], [IP6TABLES_LIST_RULES_NORMALIZE])],
|
|
|
8a3219 |
+ [$3], [m4_strip([$4])], [m4_strip([$5])], [$6], [$7])
|
|
|
8a3219 |
+ ])
|
|
|
8a3219 |
])
|
|
|
8a3219 |
])
|
|
|
8a3219 |
|
|
|
8a3219 |
@@ -285,20 +302,21 @@ m4_define([IP6TABLES_LIST_RULES], [
|
|
|
8a3219 |
])
|
|
|
8a3219 |
])
|
|
|
8a3219 |
|
|
|
8a3219 |
-m4_define([NFT_LIST_RULES_ALWAYS], [
|
|
|
8a3219 |
+m4_define([NFT_LIST_RULES_NORMALIZE], [dnl
|
|
|
8a3219 |
+ TRIM_WHITESPACE | dnl
|
|
|
8a3219 |
dnl nftables commit 6dd848339444 change list output to show "meta mark"
|
|
|
8a3219 |
dnl instead of just "mark".
|
|
|
8a3219 |
- m4_define([NFT_LIST_RULES_NORMALIZE], [dnl
|
|
|
8a3219 |
- sed -e 's/meta mark/mark/g'dnl
|
|
|
8a3219 |
- -e '/type.*hook.*priority.*policy.*/d'dnl
|
|
|
8a3219 |
- dnl tranform ct state { established,related } to ct state established,related
|
|
|
8a3219 |
- -e '/ct \(state\|status\)/{s/\(ct \(state\|status\)\) {/\1/g; s/ }//; s/\(@<:@a-z@:>@*\), /\1,/g;}' dnl
|
|
|
8a3219 |
- ])
|
|
|
8a3219 |
+ sed -e 's/meta mark/mark/g'dnl
|
|
|
8a3219 |
+ -e '/type.*hook.*priority.*policy.*/d'dnl
|
|
|
8a3219 |
+ dnl tranform ct state { established,related } to ct state established,related
|
|
|
8a3219 |
+ -e '/ct \(state\|status\)/{s/\(ct \(state\|status\)\) {/\1/g; s/ }//; s/\(@<:@a-z@:>@*\), /\1,/g;}' dnl
|
|
|
8a3219 |
+])
|
|
|
8a3219 |
|
|
|
8a3219 |
+m4_define([NFT_LIST_RULES_ALWAYS], [
|
|
|
8a3219 |
m4_ifdef([TESTING_FIREWALL_OFFLINE_CMD], [], [
|
|
|
8a3219 |
- NS_CHECK([nft NFT_NUMERIC_ARGS list chain $1 firewalld $2 | TRIM_WHITESPACE | NFT_LIST_RULES_NORMALIZE], [$3], [m4_strip([$4])], [m4_strip([$5])], [$6], [$7])
|
|
|
8a3219 |
+ NS_CHECK([PIPESTATUS0([nft NFT_NUMERIC_ARGS list chain $1 firewalld $2], [NFT_LIST_RULES_NORMALIZE])],
|
|
|
8a3219 |
+ [$3], [m4_strip([$4])], [m4_strip([$5])], [$6], [$7])
|
|
|
8a3219 |
])
|
|
|
8a3219 |
- m4_undefine([NFT_LIST_RULES_NORMALIZE])
|
|
|
8a3219 |
])
|
|
|
8a3219 |
|
|
|
8a3219 |
m4_define([NFT_LIST_RULES], [
|
|
|
8a3219 |
@@ -307,18 +325,27 @@ m4_define([NFT_LIST_RULES], [
|
|
|
8a3219 |
])
|
|
|
8a3219 |
])
|
|
|
8a3219 |
|
|
|
8a3219 |
+m4_define([IPSET_LIST_SET_NORMALIZE], [dnl
|
|
|
8a3219 |
+ TRIM_WHITESPACE |dnl
|
|
|
8a3219 |
+ grep -v "^\(Revision\|Header\|Size\|References\|Number\)" |dnl
|
|
|
8a3219 |
+ awk 'NR <= 3; NR > 3 {print | "sort"}' dnl
|
|
|
8a3219 |
+])
|
|
|
8a3219 |
+
|
|
|
8a3219 |
m4_define([IPSET_LIST_SET], [
|
|
|
8a3219 |
m4_ifdef([TESTING_FIREWALL_OFFLINE_CMD], [], [
|
|
|
8a3219 |
- NS_CHECK([ipset list $1 | TRIM_WHITESPACE |dnl
|
|
|
8a3219 |
- grep -v "^\(Revision\|Header\|Size\|References\|Number\)" |dnl
|
|
|
8a3219 |
- awk 'NR <= 3; NR > 3 {print | "sort"}'],
|
|
|
8a3219 |
+ NS_CHECK([PIPESTATUS0([ipset list $1], [IPSET_LIST_SET_NORMALIZE])],
|
|
|
8a3219 |
[$2], [m4_strip([$3])], [m4_strip([$4])], [$5], [$6])
|
|
|
8a3219 |
])
|
|
|
8a3219 |
])
|
|
|
8a3219 |
|
|
|
8a3219 |
+m4_define([NFT_LIST_SET_NORMALIZE], [dnl
|
|
|
8a3219 |
+ TRIM_WHITESPACE dnl
|
|
|
8a3219 |
+])
|
|
|
8a3219 |
+
|
|
|
8a3219 |
m4_define([NFT_LIST_SET_ALWAYS], [
|
|
|
8a3219 |
m4_ifdef([TESTING_FIREWALL_OFFLINE_CMD], [], [
|
|
|
8a3219 |
- NS_CHECK([nft NFT_NUMERIC_ARGS list set inet firewalld $1 | TRIM_WHITESPACE], [$2], [m4_strip([$3])], [m4_strip([$4])], [$5], [$6])
|
|
|
8a3219 |
+ NS_CHECK([PIPESTATUS0([nft NFT_NUMERIC_ARGS list set inet firewalld $1], [NFT_LIST_SET_NORMALIZE])],
|
|
|
8a3219 |
+ [$2], [m4_strip([$3])], [m4_strip([$4])], [$5], [$6])
|
|
|
8a3219 |
])
|
|
|
8a3219 |
])
|
|
|
8a3219 |
|
|
|
8a3219 |
--
|
|
|
8a3219 |
2.20.1
|
|
|
8a3219 |
|