Fedora 30 packaging fix issu
[src/app-framework-binder.git] / stress-clients.sh
1 #!/bin/bash
2
3 ROOT=$(dirname $0)
4 echo ROOT=$ROOT
5
6 AFB=$ROOT/build/src/afb-daemon
7 CLI="$ROOT/build/src/afb-client-demo -e"
8 HELLO=build/bindings/samples/helloWorld.so
9 PORT=12345
10 TEST=test
11 TOKEN=knock-knock-knock
12 OUT=$ROOT/stress-out-clients
13
14 rm $OUT*
15
16 CMDS=
17 add() {
18         CMDS="$CMDS
19 $1"
20 }
21
22 add 'hello ping true'
23 add 'HELLO PING false'
24 add 'hello pIngNull true'
25 #add 'hello PingBug true'
26 add 'hello PiNgJsOn {"well":"formed","json":[1,2,3,4.5,true,false,null,"oups"]}'
27 add 'hello subcall {"api":"hello","verb":"pingjson","args":[{"key1":"value1"}]}'
28 add 'hello subcall {"api":"hello","verb":"subcall","args":{"api":"hello","verb":"pingjson","args":[{"key1":"value1"}]}}'
29 add 'hello subcallsync {"api":"hello","verb":"pingjson","args":[{"key1":"value1"}]}'
30 add 'hello subcallsync {"api":"hello","verb":"subcall","args":{"api":"hello","verb":"pingjson","args":[{"key1":"value1"}]}}'
31 add 'hello subcall {"api":"hello","verb":"subcallsync","args":{"api":"hello","verb":"pingjson","args":[{"key1":"value1"}]}}'
32 add 'hello subcallsync {"api":"hello","verb":"subcallsync","args":{"api":"hello","verb":"pingjson","args":[{"key1":"value1"}]}}'
33 add 'hello eventadd {"tag":"ev1","name":"event-A"}'
34 add 'hello eventadd {"tag":"ev2","name":"event-B"}'
35 add 'hello eventpush {"tag":"ev1","data":[1,2,"hello"]}'
36 add 'hello eventpush {"tag":"ev2","data":{"item":0}}'
37 add 'hello eventsub {"tag":"ev2"}'
38 add 'hello eventpush {"tag":"ev1","data":[1,2,"hello"]}'
39 add 'hello eventpush {"tag":"ev2","data":{"item":0}}'
40 add 'hello eventsub {"tag":"ev1"}'
41 add 'hello subcall {"api":"hello","verb":"eventpush","args":{"tag":"ev1","data":[1,2,"hello"]}}'
42 add 'hello subcall {"api":"hello","verb":"eventpush","args":{"tag":"ev2","data":{"item":0}}}'
43 add 'hello subcallsync {"api":"hello","verb":"eventpush","args":{"tag":"ev1","data":[1,2,"hello"]}}'
44 add 'hello subcallsync {"api":"hello","verb":"eventpush","args":{"tag":"ev2","data":{"item":0}}}'
45 add 'hello eventunsub {"tag":"ev2"}'
46 add 'hello eventpush {"tag":"ev1","data":[1,2,"hello"]}'
47 add 'hello eventpush {"tag":"ev2","data":{"item":0}}'
48 add 'hello eventdel {"tag":"ev1"}'
49 add 'hello eventpush {"tag":"ev1","data":[1,2,"hello"]}'
50 add 'hello eventpush {"tag":"ev2","data":{"item":0}}'
51 add 'hello eventdel {"tag":"ev2"}'
52
53 r() {
54         while :; do echo "$CMDS"; done |
55         while read x; do echo $x; sleep 0.001; done |
56         $CLI "localhost:$PORT/api?token=$TOKEN" > $OUT.$1 2>&1 &
57 #       while read x; do echo $x; sleep 0.001; done |
58 #       strace -tt -f -o $OUT-strace.$1 $CLI "localhost:$PORT/api?token=$TOKEN" > $OUT.$1 2>&1 &
59 }
60
61 echo -n launch clients...
62 for x in 0 1 2 3 4 5 6 7 8 9 a b c d e f; do r $x; done
63 echo done
64
65 wait