5eade3daff
git-svn-id: https://shellinabox.googlecode.com/svn/trunk@169 0da03de8-d603-11dd-86c2-0f8696b7b6f9
44 lines
1.2 KiB
Bash
Executable file
44 lines
1.2 KiB
Bash
Executable file
#!/bin/bash -e
|
|
|
|
PORT=4201
|
|
PIDFILE=stresstest.pid
|
|
|
|
rm -f "${PIDFILE}"
|
|
trap '[ -r "${PIDFILE}" ] && kill "$(cat "${PIDFILE}")"; rm -f "${PIDFILE}"' \
|
|
EXIT INT TERM QUIT HUP
|
|
|
|
./shellinaboxd -p "${PORT}" -s "/:$(id -u):$(id -g):${PWD}:/bin/bash -c \
|
|
'while read i; do [ -z "${i}" ] && break; echo \" $i\"; done'" \
|
|
--background="${PIDFILE}"
|
|
|
|
session() {
|
|
local data="$(wget -O- --post-data='' --quiet "http://localhost:${PORT}/")"
|
|
local session="${data##*\"session\":\"}"
|
|
session="${session%%\"*}"
|
|
while read -r i; do
|
|
local keys="$(echo -n "${i}" | od -tx1 -An -w1000)"
|
|
wget -O/dev/null --post-data="session=${session}&keys=${keys// /}" \
|
|
--quiet "http://localhost:${PORT}/"
|
|
kill -0 "$(cat "${PIDFILE}")" || break
|
|
[ -z "$i" ] && break
|
|
data="$(wget -O- --post-data="session=${session}" \
|
|
--quiet "http://localhost:${PORT}/")"
|
|
data=${data##*\"data\":\"}
|
|
data=${data%%\"*}
|
|
echo "${data}"
|
|
done <<'EOF'
|
|
Hello world
|
|
This is a test
|
|
OK, that's it for now
|
|
|
|
EOF
|
|
}
|
|
|
|
pids=""
|
|
for i in `seq 100`; do
|
|
session &
|
|
pids="${pids} $!"
|
|
sleep 0.02
|
|
kill -0 "$(cat "${PIDFILE}")" || break
|
|
done
|
|
wait $pids >&/dev/null
|