From: Florian Westphal Date: Thu, 9 Jul 2026 20:03:57 +0000 (+0200) Subject: tests: make setlist_resize.sh more verbose on error X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d49c7b2e461a4637d68ffd0b612a883db14f264f;p=thirdparty%2Fipset.git tests: make setlist_resize.sh more verbose on error Instead of just existing, tell where we failed. Use -x and take advantage of $IPSET_TMP to capture the full output. On success, remove the file. cleanup handler will dump the content in case we failed somewhere. Signed-off-by: Florian Westphal Signed-off-by: Jozsef Kadlecsik --- diff --git a/tests/setlist_resize.sh b/tests/setlist_resize.sh index db347ca..393048a 100755 --- a/tests/setlist_resize.sh +++ b/tests/setlist_resize.sh @@ -1,22 +1,41 @@ #!/bin/sh set -e -# set -x -# exec > setlist.res -# exec 2>&1 + +cleanup() { + exec 1>&3 + exec 2>&4 + if [ -r "$IPSET_TMP/setlist.res" ]; then + cat "$IPSET_TMP/setlist.res" + rm -f "$IPSET_TMP/setlist.res" + fi +} +trap cleanup EXIT + +exec 3>&1 +exec 4>&2 +exec > "$IPSET_TMP/setlist.res" 2>&1 + +set -x ipset=${IPSET_BIN:-../src/ipset} loop=8 +fail() { + echo "FAILED: $0 $@" + exit 1 +} + n=0 while [ $n -le 9 ]; do egrep '^(ip_set_|xt_set)' /proc/modules | while read x y; do - rmmod $x >/dev/null 2>&1 + rmmod $x || : done if [ "`egrep '^(ip_set_|xt_set)' /proc/modules`" ]; then sleep 1s else + echo "Modules unloaded after $n attempts." n=10 fi done @@ -35,7 +54,7 @@ for x in `seq 1 $loop`; do create 1 & create 2 & wait - test `$ipset l -n | wc -l` -eq 1024 || exit 1 + test `$ipset l -n | wc -l` -eq 1024 || fail "expected 1024 sets" $ipset x # Wait for destroy to be finished and reference counts releases n=0 @@ -53,7 +72,10 @@ for x in `seq 1 $loop`; do lsmod echo $ref fi - test "$ref" -eq 0 || exit 1 + test "$ref" -eq 0 || fail "ref was $ref" rmmod ip_set_hash_ip >/dev/null 2>&1 rmmod ip_set >/dev/null 2>&1 done + +rm -f "$IPSET_TMP/setlist.res" +cleanup