Edit

kc3-lang/libevent/test/test-ratelim.sh

Branch :

  • Show log

    Commit

  • Author : fanquake
    Date : 2021-11-24 14:41:33
    Hash : 082941ed
    Message : build: remove inconsistently used x-prefix comparisons Given that these are already used inconsistently with `test` checks, it makes sense to consolidate to not use the x-prefix comparisons at all. In any case, it would be nice to think we no longer have to work around a problem that existed in shells many, many years ago. More info: https://github.com/koalaman/shellcheck/wiki/SC2268 https://www.vidarholen.net/contents/blog/?p=1035

  • test/test-ratelim.sh
  • #!/bin/sh
    
    FAILED=no
    
    if test "$TEST_OUTPUT_FILE" = ""
    then
    	TEST_OUTPUT_FILE=/dev/null
    fi
    
    # /bin/echo is a little more likely to support -n than sh's builtin echo.
    if test -x /bin/echo
    then
    	ECHO=/bin/echo
    else
    	ECHO=echo
    fi
    
    if test "$TEST_OUTPUT_FILE" != "/dev/null"
    then
    	touch "$TEST_OUTPUT_FILE" || exit 1
    fi
    
    TEST_DIR=.
    
    T=`echo "$0" | sed -e 's/test-ratelim.sh$//'`
    if test -x "$T/test-ratelim"
    then
    	TEST_DIR="$T"
    fi
    
    announce () {
    	echo $@
    	echo $@ >>"$TEST_OUTPUT_FILE"
    }
    
    announce_n () {
    	$ECHO -n $@
    	echo $@ >>"$TEST_OUTPUT_FILE"
    }
    
    
    run_tests () {
    	announce_n "  Group limits, no connection limit:"
    	if $TEST_DIR/test-ratelim -g 30000 -n 30 -t 100 --check-grouplimit 1000 --check-stddev 100 >>"$TEST_OUTPUT_FILE"
    	then
    		announce OKAY
    	else
    		announce FAILED
    		FAILED=yes
    	fi
    
    	announce_n "  Connection limit, no group limit:"
    	if $TEST_DIR/test-ratelim -c 1000 -n 30 -t 100 --check-connlimit 50 --check-stddev 50 >>"$TEST_OUTPUT_FILE"
    	then
    		announce OKAY ;
    	else
    		announce FAILED ;
    		FAILED=yes
    	fi
    
    	announce_n "  Connection limit and group limit:"
    	if $TEST_DIR/test-ratelim -c 1000 -g 30000 -n 30 -t 100 --check-grouplimit 1000 --check-connlimit 50 --check-stddev 50 >>"$TEST_OUTPUT_FILE"
    	then
    		announce OKAY ;
    	else
    		announce FAILED ;
    		FAILED=yes
    	fi
    
    	announce_n "  Connection limit and group limit with independent drain:"
    	if $TEST_DIR/test-ratelim -c 1000 -g 35000 -n 30 -t 100 -G 500 --check-grouplimit 1000 --check-connlimit 50 --check-stddev 50 >>"$TEST_OUTPUT_FILE"
    	then
    		announce OKAY ;
    	else
    		announce FAILED ;
    		FAILED=yes
    	fi
    
    
    }
    
    announce "Running rate-limiting tests:"
    
    run_tests
    
    if test "$FAILED" = "yes"; then
    	exit 1
    fi