From 76bc7273b64450dde8dc634f2247cdc30a78ba7f Mon Sep 17 00:00:00 2001 From: Louis Burda Date: Thu, 10 Jun 2021 21:36:17 +0200 Subject: added code to stress-test of service and search for memory leaks --- checker/test.sh | 65 ++++++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 53 insertions(+), 12 deletions(-) (limited to 'checker/test.sh') diff --git a/checker/test.sh b/checker/test.sh index d805d9d..8887f68 100644 --- a/checker/test.sh +++ b/checker/test.sh @@ -6,27 +6,53 @@ SCRIPTPATH="$(dirname $(readlink -f "$0"))" cd "$SCRIPTPATH" export REVHASH_PATH="$SCRIPTPATH/src/revhash/revhash" +nop() { :; } + +splitmsg() { + python3 -c " +import json,sys + +try: + instr = sys.stdin.read().strip() + jres = json.loads(instr) + print(jres['result']) + print(jres['message']) +except: + print('INVALID') + print('INVALID') + print('FAIL:', instr, file=sys.stderr) + " || nop +} + try() { cmd="$1" + tmpfile="/tmp/checker-log-$BASHPID" + [ -e "$tmpfile" ] && rm "$tmpfile" if [ $# -lt 2 ]; then variant=0 else variant=$2 fi - echo "Executing $cmd with variant $variant.." - python3 src/checker.py -j run -v "$variant" -x 4000 \ - --flag ENOTESTFLAG123= --flag_regex 'ENO.*=' \ - ${@:3} "$cmd" | tee /tmp/checker-log - [ -z "$(cat /tmp/checker-log | grep OK)" ] && exit 1 + if [ ! -z "$REMOTE" ]; then + python3 enoreq.py -j True -A http://localhost:9091 -a $REMOTE \ + --flag ENOTESTFLAG123= --flag_regex 'ENO.*=' \ + -x 4000 ${@:3} "$cmd" > "$tmpfile" + else + python3 src/checker.py -j run -v "$variant" -x 4000 \ + --flag ENOTESTFLAG123= --flag_regex 'ENO.*=' \ + ${@:3} "$cmd" > "$tmpfile" + fi + res="$(cat $tmpfile | splitmsg | head -n1)" + if [ "$res" != "OK" ]; then + newfile="fails/err-$(ls fails | wc -l)" + (echo "METHOD $@"; cat "$tmpfile") > "$newfile" + echo "[ $(date '+%T %F') ] ERROR >>>> $newfile" + cat "$tmpfile" + fi + echo -ne "Executing $cmd with variant $variant.. $res\n" } - -if [ $# -ge 2 ]; then - try $@ -elif [ "$1" == "test-exploits" ]; then - try exploit 0 - try exploit 1 -else +try-all() { try putflag 0 try getflag 0 @@ -46,6 +72,21 @@ else try exploit 0 try exploit 1 +} + +if [ $# -ge 2 ]; then + try $@ +elif [ "$1" == "test-exploits" ]; then + try exploit 0 + try exploit 1 +elif [ "$1" == "stress-test" ]; then + mkdir -p fails + while [ 1 ]; do + try-all & + sleep 2 + done +else + try-all fi exit 0 -- cgit v1.2.3-71-gd317