From 1f8ce25cfafca2e6bd9b148f68f763c43c46a06e Mon Sep 17 00:00:00 2001 From: Rick Carback <rick@privategrity.com> Date: Tue, 6 Mar 2018 22:50:57 +0000 Subject: [PATCH] final touches for initial integration test --- basice2e/clients.goldoutput/client12.out | 2 ++ basice2e/clients.goldoutput/client23.out | 2 ++ basice2e/clients.goldoutput/client34.out | 2 ++ basice2e/clients.goldoutput/client41.out | 2 ++ basice2e/run.sh | 34 +++++++++++++++++------- 5 files changed, 32 insertions(+), 10 deletions(-) create mode 100644 basice2e/clients.goldoutput/client12.out create mode 100644 basice2e/clients.goldoutput/client23.out create mode 100644 basice2e/clients.goldoutput/client34.out create mode 100644 basice2e/clients.goldoutput/client41.out diff --git a/basice2e/clients.goldoutput/client12.out b/basice2e/clients.goldoutput/client12.out new file mode 100644 index 0000000..7684960 --- /dev/null +++ b/basice2e/clients.goldoutput/client12.out @@ -0,0 +1,2 @@ +Sending Message to 2: Hello, 2 +Message Received: Hello, 1 diff --git a/basice2e/clients.goldoutput/client23.out b/basice2e/clients.goldoutput/client23.out new file mode 100644 index 0000000..9e229cb --- /dev/null +++ b/basice2e/clients.goldoutput/client23.out @@ -0,0 +1,2 @@ +Sending Message to 3: Hello, 3 +Message Received: Hello, 2 diff --git a/basice2e/clients.goldoutput/client34.out b/basice2e/clients.goldoutput/client34.out new file mode 100644 index 0000000..ff93143 --- /dev/null +++ b/basice2e/clients.goldoutput/client34.out @@ -0,0 +1,2 @@ +Sending Message to 4: Hello, 4 +Message Received: Hello, 3 diff --git a/basice2e/clients.goldoutput/client41.out b/basice2e/clients.goldoutput/client41.out new file mode 100644 index 0000000..2cc14f8 --- /dev/null +++ b/basice2e/clients.goldoutput/client41.out @@ -0,0 +1,2 @@ +Sending Message to 1: Hello, 1 +Message Received: Hello, 4 diff --git a/basice2e/run.sh b/basice2e/run.sh index 2b5a34f..4690988 100755 --- a/basice2e/run.sh +++ b/basice2e/run.sh @@ -4,6 +4,8 @@ set -e +rm -fr results || true + SERVERLOGS=results/servers CLIENTOUT=results/clients @@ -16,17 +18,23 @@ for SERVERID in $(seq 1 5) do IDX=$(($SERVERID - 1)) SERVERCMD="../bin/server -v -i $IDX --config server-$SERVERID.yaml" - eval $SERVERCMD > $SERVERLOGS/server-$SERVERID.console 2>&1 & - echo "$SERVERCMD -- $!" + $SERVERCMD > $SERVERLOGS/server-$SERVERID.console 2>&1 & + RETVAL=$! + echo "$SERVERCMD -- $RETVAL" done +jobs -p > results/serverpids + finish() { echo "STOPPING SERVERS..." - for job in $(jobs -p) + # NOTE: jobs -p doesn't work in a signal handler + for job in $(cat results/serverpids) do + echo "KILLING $job" kill $job || true done - tail results/* + tail $SERVERLOGS/* + tail $CLIENTOUT/* } trap finish EXIT @@ -41,25 +49,31 @@ LASTNODE="localhost:50004" echo "STARTING CLIENTS..." CTR=0 -for cid in 1 2 3 4; do +for cid in $(seq 1 4) +do # TODO: Change the recipients to send multiple messages. We can't # run multiple clients with the same user id so we need # updates to make that work. # for nid in 1 2 3 4; do - for nid in 1; do + for nid in 1 + do nid=$((($cid % 4) + 1)) - ../bin/client --numnodes 5 -s $LASTNODE -i $cid -d $nid -m "Hello, $nid" > results/client$cid$nid.out 2>&1 & + CLIENTCMD="../bin/client --numnodes 5 -s $LASTNODE -i $cid -d $nid -m \"Hello, $nid\"" + eval $CLIENTCMD > $CLIENTOUT/client$cid$nid.out 2>&1 & RETVAL=$! - echo "../bin/client --numnodes 5 -s $LASTNODE -i $cid -d $nid -m \"Hello, $nid\" -- $RETVAL" eval CLIENTS${CTR}=$RETVAL + echo "$CLIENTCMD -- $RETVAL" CTR=$(($CTR + 1)) done done echo "WAITING FOR $CTR CLIENTS TO EXIT..." -for i in $(seq 0 $(($CTR - 1))); do +for i in $(seq 0 $(($CTR - 1))) +do eval echo "Waiting on \${CLIENTS${i}} ..." eval wait \${CLIENTS${i}} done -diff -ruN +diff -ruN clients.goldoutput $CLIENTOUT + +echo "SUCCESS!" -- GitLab