summaryrefslogtreecommitdiffstats
path: root/stress-server.sh
blob: 1649e64d57f2569cb8c702917c497b5ba05fd59c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/bin/bash

ROOT=$(dirname $0)
cd ${ROOT:-.}
ROOT=$(pwd)
echo ROOT=$ROOT

AFB=build/src/afb-daemon
HELLO=build/bindings/samples/hello3.so
PORT=12345
TEST=test
TOKEN=knock-knock-knock

OUT=stress-out-server
rm $OUT*

tool=
ws=false
eval set -- $(getopt -o wgsv -l ws,gdb,strace,valgrind -- "$@") || exit
while true
do
	case "$1" in
	-w|--ws) ws=true; shift;;
	-g|--gdb) tool=gdb; shift;;
	-s|--strace) tool=strace; shift;;
	-v|--valgrind) tool=valgrind; shift;;
	--) shift; break;;
	esac
done

case $tool in
 gdb) cmd="$(type -p gdb) -ex run --args";;
 valgrind) cmd="$(type -p valgrind) --leak-check=full";;
 strace) cmd="$(type -p strace) -tt -f -o $OUT.strace";;
 *) cmd=;;
esac

if $ws; then
  CMD="$AFB -q --no-ldpaths --binding=$HELLO --session-max=100 --ws-server=unix:@afw/hello --no-httpd --exec $cmd $AFB --session-max=100 --port=$PORT --no-ldpaths --roothttp=$TEST --token=$TOKEN --ws-client=unix:@afw/hello "
else
  CMD="$cmd $AFB -q --session-max=100 --port=$PORT --workdir=$ROOT --roothttp=$TEST --token=$TOKEN --no-ldpaths --binding=$HELLO"
fi


echo "launch: $CMD $@"
case $tool in
 gdb) $CMD "$@";;
 *) $CMD "$@" 2>&1 | tee $OUT;
esac
wait