summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/hash:ip6.t22
-rw-r--r--tests/hash:net6,port.t10
-rw-r--r--tests/restore.t.destroy2
-rw-r--r--tests/restore.t.list010
-rw-r--r--tests/restore.t.list110
-rw-r--r--tests/restore.t.restore11
6 files changed, 65 insertions, 0 deletions
diff --git a/tests/hash:ip6.t b/tests/hash:ip6.t
index 76a6879..991a899 100644
--- a/tests/hash:ip6.t
+++ b/tests/hash:ip6.t
@@ -24,12 +24,22 @@
0 ipset -L test | sed 's/timeout ./timeout x/' > .foo0 && ./sort.sh .foo0
# IP: Check listing
0 diff -I 'Size in memory.*' .foo hash:ip6.t.list2 && rm .foo
+# IP: Save set
+0 ipset save test > hash:ip6.t.restore
# Sleep 5s so that element can time out
0 sleep 5
# IP: List set
0 ipset -L test 2>/dev/null > .foo0 && ./sort.sh .foo0
# IP: Check listing
0 diff -I 'Size in memory.*' .foo hash:ip6.t.list0 && rm .foo
+# IP: Destroy set
+0 ipset x test
+# IP: Restore saved set
+0 ipset restore < hash:ip6.t.restore && rm hash:ip6.t.restore
+# IP: List set
+0 ipset -L test | sed 's/timeout ./timeout x/' > .foo0 && ./sort.sh .foo0
+# IP: Check listing
+0 diff -I 'Size in memory.*' .foo hash:ip6.t.list2 && rm .foo
# IP: Flush test set
0 ipset -F test
# IP: Try to add multiple elements in one step
@@ -76,4 +86,16 @@
0 ipset -F test
# Network: Delete test set
0 ipset -X test
+# Check more complex restore commands
+0 ipset restore < restore.t.restore
+# List restored set a
+0 ipset l a > .foo0 && ./sort.sh .foo0
+# Check listing of set a
+0 diff -I 'Size in memory.*' .foo restore.t.list0
+# List restored set b
+0 ipset l b > .foo0 && ./sort.sh .foo0
+# Check listing of set b
+0 diff -I 'Size in memory.*' .foo restore.t.list1 && rm .foo
+# Destroy by restore
+0 ipset restore < restore.t.destroy
# eof
diff --git a/tests/hash:net6,port.t b/tests/hash:net6,port.t
index 9cce42f..12a37cb 100644
--- a/tests/hash:net6,port.t
+++ b/tests/hash:net6,port.t
@@ -36,6 +36,8 @@
0 ipset add test 3:0:0::1,tcp:8
# List set
0 ipset list test | sed 's/timeout ./timeout x/' > .foo0 && ./sort.sh .foo0
+# Save set
+0 ipset save test > hash:net6,port.t.restore
# Check listing
0 diff -I 'Size in memory.*' .foo hash:net6,port.t.list0 && rm .foo
# Sleep 5s so that element can time out
@@ -44,6 +46,14 @@
0 ipset -L test 2>/dev/null > .foo0 && ./sort.sh .foo0
# IP: Check listing
0 diff -I 'Size in memory.*' .foo hash:net6,port.t.list1 && rm .foo
+# Destroy set
+0 ipset x test
+# Restore set
+0 ipset restore < hash:net6,port.t.restore && rm hash:net6,port.t.restore
+# List set
+0 ipset list test | sed 's/timeout ./timeout x/' > .foo0 && ./sort.sh .foo0
+# Check listing
+0 diff -I 'Size in memory.*' .foo hash:net6,port.t.list0 && rm .foo
# Flush test set
0 ipset flush test
# Add multiple elements in one step
diff --git a/tests/restore.t.destroy b/tests/restore.t.destroy
new file mode 100644
index 0000000..56d4f93
--- /dev/null
+++ b/tests/restore.t.destroy
@@ -0,0 +1,2 @@
+destroy a
+destroy b
diff --git a/tests/restore.t.list0 b/tests/restore.t.list0
new file mode 100644
index 0000000..43b8422
--- /dev/null
+++ b/tests/restore.t.list0
@@ -0,0 +1,10 @@
+Name: a
+Type: hash:ip
+Header: family inet6 hashsize 1024 maxelem 65536
+Size in memory: 16704
+References: 0
+Members:
+3::3
+4::4
+a::a
+
diff --git a/tests/restore.t.list1 b/tests/restore.t.list1
new file mode 100644
index 0000000..fd9b82d
--- /dev/null
+++ b/tests/restore.t.list1
@@ -0,0 +1,10 @@
+Name: b
+Type: hash:ip
+Header: family inet6 hashsize 1024 maxelem 65536
+Size in memory: 16704
+References: 0
+Members:
+1::1
+2::2
+b::b
+
diff --git a/tests/restore.t.restore b/tests/restore.t.restore
new file mode 100644
index 0000000..1865281
--- /dev/null
+++ b/tests/restore.t.restore
@@ -0,0 +1,11 @@
+create a hash:ip family inet6
+add a 1::1
+add a 2::2
+create b hash:ip family inet6
+add b 3::3
+add b 4::4
+rename a c
+swap c b
+rename c a
+add a a::a
+add b b::b