aboutsummaryrefslogtreecommitdiffstats
path: root/checker/test.sh
diff options
context:
space:
mode:
authorLouis Burda <quent.burda@gmail.com>2021-06-10 21:36:17 +0200
committerLouis Burda <quent.burda@gmail.com>2021-06-10 21:36:17 +0200
commit76bc7273b64450dde8dc634f2247cdc30a78ba7f (patch)
tree4934663c2c8754e1ef7cb5cd707088cb1a472e22 /checker/test.sh
parentae2a0897dbb00977e384076b5abc5daa3d542081 (diff)
downloadenowars5-service-stldoctor-76bc7273b64450dde8dc634f2247cdc30a78ba7f.tar.gz
enowars5-service-stldoctor-76bc7273b64450dde8dc634f2247cdc30a78ba7f.zip
added code to stress-test of service and search for memory leaks
Diffstat (limited to 'checker/test.sh')
-rw-r--r--checker/test.sh65
1 files changed, 53 insertions, 12 deletions
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