diff options
Diffstat (limited to 'tests/resizet.sh')
-rw-r--r-- | tests/resizet.sh | 87 |
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 |