]>
Commit | Line | Data |
---|---|---|
d5324103 MG |
1 | #!/bin/bash -e |
2 | ||
3 | PORT=4201 | |
4 | PIDFILE=stresstest.pid | |
5 | ||
6 | rm -f "${PIDFILE}" | |
7 | trap '[ -r "${PIDFILE}" ] && kill "$(cat "${PIDFILE}")"; rm -f "${PIDFILE}"' \ | |
8 | EXIT INT TERM QUIT HUP | |
9 | ||
10 | ./shellinaboxd -p "${PORT}" -s "/:$(id -u):$(id -g):${PWD}:/bin/bash -c \ | |
11 | 'while read i; do [ -z "${i}" ] && break; echo \" $i\"; done'" \ | |
12 | --background="${PIDFILE}" | |
13 | ||
14 | session() { | |
15 | local data="$(wget -O- --post-data='' --quiet "http://localhost:${PORT}/")" | |
16 | local session="${data##*\"session\":\"}" | |
17 | session="${session%%\"*}" | |
18 | while read -r i; do | |
19 | local keys="$(echo -n "${i}" | od -tx1 -An -w1000)" | |
20 | wget -O/dev/null --post-data="session=${session}&keys=${keys// /}" \ | |
21 | --quiet "http://localhost:${PORT}/" | |
22 | kill -0 "$(cat "${PIDFILE}")" || break | |
23 | [ -z "$i" ] && break | |
24 | data="$(wget -O- --post-data="session=${session}" \ | |
25 | --quiet "http://localhost:${PORT}/")" | |
26 | data=${data##*\"data\":\"} | |
27 | data=${data%%\"*} | |
28 | echo "${data}" | |
29 | done <<'EOF' | |
30 | Hello world | |
31 | This is a test | |
32 | OK, that's it for now | |
33 | ||
34 | EOF | |
35 | } | |
36 | ||
37 | pids="" | |
38 | for i in `seq 100`; do | |
39 | session & | |
40 | pids="${pids} $!" | |
41 | sleep 0.02 | |
42 | kill -0 "$(cat "${PIDFILE}")" || break | |
43 | done | |
44 | wait $pids >&/dev/null |