diff options
Diffstat (limited to 'tests/setlist_resize.sh')
-rwxr-xr-x | tests/setlist_resize.sh | 32 |
1 files changed, 32 insertions, 0 deletions
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 |