]> git.ipfire.org Git - thirdparty/iptables.git/commitdiff
iptables: tests: add test for iptables-save and iptables-restore
authorArushi Singhal <arushisinghal19971997@gmail.com>
Mon, 9 Jul 2018 07:37:59 +0000 (13:07 +0530)
committerPablo Neira Ayuso <pablo@netfilter.org>
Tue, 10 Jul 2018 10:14:06 +0000 (12:14 +0200)
Add test for testing if iptables configuration is restored and saved.

Signed-off-by: Arushi Singhal <arushisinghal19971997@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
iptables/tests/shell/testcases/ipt-save/0003save-restore_0 [new file with mode: 0644]

diff --git a/iptables/tests/shell/testcases/ipt-save/0003save-restore_0 b/iptables/tests/shell/testcases/ipt-save/0003save-restore_0
new file mode 100644 (file)
index 0000000..6b41ede
--- /dev/null
@@ -0,0 +1,47 @@
+#!/bin/bash
+
+tmpfile=""
+tmpfile1=""
+set -x
+
+clean_tmpfile()
+{
+       if [ ! -z "$tmpfile" ];then
+               rm -f "$tmpfile"
+       fi
+       if [ ! -z "$tmpfile1" ];then
+                rm -f "$tmpfile1"
+       fi
+}
+
+trap clean_tmpfile EXIT
+
+tmpfile=$(mktemp) || exit 1
+tmpfile1=$(mktemp) || exit 1
+
+do_diff()
+{
+       diff -u "$1" "$2"
+       if [ $? -ne 0 ]; then
+               echo "iptables configuration is not restored" 1>&2
+               exit 1
+       else
+               exit 0
+       fi
+}
+
+$XT_MULTI iptables -N FOO || exit 1
+$XT_MULTI iptables -I INPUT || exit 1
+$XT_MULTI iptables -I FOO || exit 1
+$XT_MULTI iptables -I FOO || exit 1
+
+$XT_MULTI iptables-save | grep -v "^#" > "$tmpfile" || exit 1
+$XT_MULTI iptables-restore < "$tmpfile" || exit 1
+
+$XT_MULTI iptables -N BAR || exit 1
+$XT_MULTI iptables -A BAR || exit 1
+
+$XT_MULTI iptables-restore  < "$tmpfile" || exit 1
+$XT_MULTI iptables-save | grep -v "^#" > "$tmpfile1" || exit 1
+
+do_diff $tmpfile1 "$tmpfile"