summaryrefslogtreecommitdiffstats
path: root/tests/resizet.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tests/resizet.sh')
-rw-r--r--tests/resizet.sh87
1 files changed, 87 insertions, 0 deletions
diff --git a/tests/resizet.sh b/tests/resizet.sh
new file mode 100644
index 0000000..74fb19e
--- /dev/null
+++ b/tests/resizet.sh
@@ -0,0 +1,87 @@
+#!/bin/sh
+
+# set -x
+set -e
+
+ipset=../src/ipset
+
+case "$1" in
+ -4)
+ ip=10.0.
+ sep=.
+ net=32
+ ip2=192.168.162.33
+ ;;
+ -6)
+ ip=10::
+ sep=:
+ net=128
+ ip2=192:168::162:33
+ ;;
+esac
+
+case "$2" in
+ ip)
+ $ipset n test hash:ip $1 hashsize 64 timeout 100
+ for x in `seq 0 16`; do
+ for y in `seq 0 255`; do
+ $ipset a test $ip$x$sep$y
+ done
+ done
+ ;;
+ ipport)
+ $ipset n test hash:ip,port $1 hashsize 64 timeout 100
+ for x in `seq 0 16`; do
+ for y in `seq 0 255`; do
+ $ipset a test $ip$x$sep$y,1023
+ done
+ done
+ ;;
+ ipportip)
+ $ipset n test hash:ip,port,ip $1 hashsize 64 timeout 100
+ for x in `seq 0 16`; do
+ for y in `seq 0 255`; do
+ $ipset a test $ip$x$sep$y,1023,$ip2
+ done
+ done
+ ;;
+ ipportnet)
+ $ipset n test hash:ip,port,net $1 hashsize 64 timeout 100
+ for x in `seq 0 16`; do
+ for y in `seq 0 255`; do
+ $ipset a test $ip$x$sep$y,1023,$ip2/$net
+ done
+ done
+ ;;
+ net)
+ $ipset n test hash:net $1 hashsize 64 timeout 100
+ for x in `seq 0 16`; do
+ for y in `seq 0 255`; do
+ $ipset a test $ip$x$sep$y/$net
+ done
+ done
+ ;;
+ netport)
+ $ipset n test hash:net,port $1 hashsize 64 timeout 100
+ for x in `seq 0 16`; do
+ for y in `seq 0 255`; do
+ $ipset a test $ip$x$sep$y/$net,1023
+ done
+ done
+ ;;
+ netiface)
+ $ipset n test hash:net,iface $1 hashsize 64 timeout 100
+ for x in `seq 0 16`; do
+ for y in `seq 0 255`; do
+ $ipset a test $ip$x$sep$y/$net,eth0
+ done
+ done
+ ;;
+esac
+$ipset l test | grep ^$ip | while read x y z; do
+ if [ $z -lt 10 -o $z -gt 99 ]; then
+ exit 1
+ fi
+done
+$ipset x
+exit 0