diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/restore.t | 2 | ||||
-rwxr-xr-x | tests/setlist_resize.sh | 32 |
2 files changed, 34 insertions, 0 deletions
diff --git a/tests/restore.t b/tests/restore.t index b151be8..ffde2d1 100644 --- a/tests/restore.t +++ b/tests/restore.t @@ -4,4 +4,6 @@ 0 ipset save > .foo && diff restore.t.multi.saved .foo # Delete all sets 0 ipset x +# Check auto-increasing maximal number of sets +0 ./setlist_resize.sh # eof diff --git a/tests/setlist_resize.sh b/tests/setlist_resize.sh new file mode 100755 index 0000000..42b17f8 --- /dev/null +++ b/tests/setlist_resize.sh @@ -0,0 +1,32 @@ +#!/bin/sh + +# set -x + +loop=8 + +for x in ip_set_list_set ip_set_hash_netiface ip_set_hash_ipportnet \ + ip_set_hash_netport ip_set_hash_net ip_set_hash_ipportip \ + ip_set_hash_ipport ip_set_bitmap_port ip_set_bitmap_ipmac \ + ip_set_bitmap_ip xt_set ip_set; do + rmmod $x +done + +create() { + n=$1 + while [ $n -le 1024 ]; do + ../src/ipset c test$n hash:ip + n=$((n+2)) + done +} + +for x in `seq 1 $loop`; do + # echo "test round $x" + create 1 & + create 2 & + wait + test `../src/ipset l -n | wc -l` -eq 1024 || exit 1 + ../src/ipset x + test `lsmod|grep -w ^ip_set_hash_ip | awk '{print $3}'` -eq 0 || exit 1 + rmmod ip_set_hash_ip + rmmod ip_set +done |