Newer
Older
# NOTE: This is verbose on purpose.
set -e
mkdir -p results
../bin/server -v -i 0 --config server-1.yaml > results/server-1.console 2>&1 &
SERVER1=$!
echo "../bin/server -v -i 0 --config server-1.yaml -- $SERVER1"
../bin/server -v -i 1 --config server-2.yaml > results/server-2.console 2>&1 &
SERVER2=$!
echo "../bin/server -v -i 1 --config server-2.yaml -- $SERVER2"
../bin/server -v -i 2 --config server-3.yaml > results/server-3.console 2>&1 &
SERVER3=$!
echo "../bin/server -v -i 2 --config server-3.yaml -- $SERVER3"
../bin/server -v -i 3 --config server-4.yaml > results/server-4.console 2>&1 &
SERVER4=$!
echo "../bin/server -v -i 3 --config server-4.yaml -- $SERVER4"
../bin/server -v -i 4 --config server-5.yaml > results/server-5.console 2>&1 &
echo "../bin/server -v -i 4 --config server-5.yaml -- $SERVER5"
finish() {
echo "STOPPING SERVERS..."
kill $SERVER1 || true
kill $SERVER2 || true
kill $SERVER3 || true
kill $SERVER4 || true
kill $SERVER5 || true
tail results/*
sleep 10 # FIXME: We should not need this, but the servers don't respond quickly
# enough on boot right now.
LASTNODE="localhost:50004"
echo "STARTING CLIENTS..."
CTR=0
# for cid in 1 2 3 4; do
# for nid in 1 2 3 4; do
for cid in 1; do
for nid in 1; do
../bin/client -s $LASTNODE -i $cid -d $nid -m "Hello, $nid" > results/client$cid$nid.out 2>&1 &
echo "../bin/client -s $LASTNODE -i $cid -d $nid -m \"Hello, $nid\" -- $RETVAL"
eval CLIENTS${CTR}=$RETVAL
echo "WAITING FOR $CTR CLIENTS TO EXIT..."
for i in $(seq 0 $(($CTR - 1))); do
eval echo "Waiting on \${CLIENTS${i}} ..."
eval wait \${CLIENTS${i}}