tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test-ratelim.sh (1671B)


      1 #!/bin/sh
      2 
      3 FAILED=no
      4 
      5 if test "x$TEST_OUTPUT_FILE" = "x"
      6 then
      7 TEST_OUTPUT_FILE=/dev/null
      8 fi
      9 
     10 # /bin/echo is a little more likely to support -n than sh's builtin echo.
     11 if test -x /bin/echo
     12 then
     13 ECHO=/bin/echo
     14 else
     15 ECHO=echo
     16 fi
     17 
     18 if test "$TEST_OUTPUT_FILE" != "/dev/null"
     19 then
     20 touch "$TEST_OUTPUT_FILE" || exit 1
     21 fi
     22 
     23 TEST_DIR=.
     24 
     25 T=`echo "$0" | sed -e 's/test-ratelim.sh$//'`
     26 if test -x "$T/test-ratelim"
     27 then
     28 TEST_DIR="$T"
     29 fi
     30 
     31 announce () {
     32 echo $@
     33 echo $@ >>"$TEST_OUTPUT_FILE"
     34 }
     35 
     36 announce_n () {
     37 $ECHO -n $@
     38 echo $@ >>"$TEST_OUTPUT_FILE"
     39 }
     40 
     41 
     42 run_tests () {
     43 announce_n "  Group limits, no connection limit:"
     44 if $TEST_DIR/test-ratelim -g 30000 -n 30 -t 100 --check-grouplimit 1000 --check-stddev 100 >>"$TEST_OUTPUT_FILE"
     45 then
     46 	announce OKAY
     47 else
     48 	announce FAILED
     49 	FAILED=yes
     50 fi
     51 
     52 announce_n "  Connection limit, no group limit:"
     53 if $TEST_DIR/test-ratelim -c 1000 -n 30 -t 100 --check-connlimit 50 --check-stddev 50 >>"$TEST_OUTPUT_FILE"
     54 then
     55 	announce OKAY ;
     56 else
     57 	announce FAILED ;
     58 	FAILED=yes
     59 fi
     60 
     61 announce_n "  Connection limit and group limit:"
     62 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"
     63 then
     64 	announce OKAY ;
     65 else
     66 	announce FAILED ;
     67 	FAILED=yes
     68 fi
     69 
     70 announce_n "  Connection limit and group limit with independent drain:"
     71 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"
     72 then
     73 	announce OKAY ;
     74 else
     75 	announce FAILED ;
     76 	FAILED=yes
     77 fi
     78 
     79 
     80 }
     81 
     82 announce "Running rate-limiting tests:"
     83 
     84 run_tests
     85 
     86 if test "$FAILED" = "yes"; then
     87 exit 1
     88 fi