diff --git a/basice2e/clients.goldoutput/client12.out b/basice2e/clients.goldoutput/client12.out index 59c38dccd856485165cb36684b4098884610ad45..a95df9f72862c0a82ac7c57f7305ffe9547fa77b 100755 --- a/basice2e/clients.goldoutput/client12.out +++ b/basice2e/clients.goldoutput/client12.out @@ -1,4 +1,4 @@ -Sending Message to 2, Jim: Hello, 2 +Message from 31, #general Received: Channel, Hello Message from 4, Rick Received: Hello, 1 Sending Message to 2, Jim: Hello, 2 -Message from 4, Rick Received: Hello, 1 +Sending Message to 2, Jim: Hello, 2 diff --git a/basice2e/clients.goldoutput/client23.out b/basice2e/clients.goldoutput/client23.out index f978dc80eb084c2bd1e13615b6ec08783c28639d..8ae4e7c7310a3b5f063a20f175256b8d16adde6e 100755 --- a/basice2e/clients.goldoutput/client23.out +++ b/basice2e/clients.goldoutput/client23.out @@ -1,4 +1,4 @@ -Sending Message to 3, Ben: Hello, 3 Message from 1, David Received: Hello, 2 +Message from 31, #general Received: Channel, Hello +Sending Message to 3, Ben: Hello, 3 Sending Message to 3, Ben: Hello, 3 -Message from 1, David Received: Hello, 2 diff --git a/basice2e/clients.goldoutput/client34.out b/basice2e/clients.goldoutput/client34.out index 535a51fe4ef03ed501f55987dcf6ed99f7d0362e..be205e59a0fd872a7908e0292ee4c7e975d1a9f0 100755 --- a/basice2e/clients.goldoutput/client34.out +++ b/basice2e/clients.goldoutput/client34.out @@ -1,4 +1,4 @@ -Sending Message to 4, Rick: Hello, 4 Message from 2, Jim Received: Hello, 3 +Message from 31, #general Received: Channel, Hello +Sending Message to 4, Rick: Hello, 4 Sending Message to 4, Rick: Hello, 4 -Message from 2, Jim Received: Hello, 3 diff --git a/basice2e/clients.goldoutput/client41.out b/basice2e/clients.goldoutput/client41.out index df9a4f6bb47388814270f1889e198ecaec6c75fc..cbf2212c9d797ffaab457fd100dec618cecf1a83 100755 --- a/basice2e/clients.goldoutput/client41.out +++ b/basice2e/clients.goldoutput/client41.out @@ -1,4 +1,4 @@ -Sending Message to 1, David: Hello, 1 +Message from 31, #general Received: Channel, Hello Message from 3, Ben Received: Hello, 4 Sending Message to 1, David: Hello, 1 -Message from 3, Ben Received: Hello, 4 +Sending Message to 1, David: Hello, 1 diff --git a/basice2e/clients.goldoutput/client5.out b/basice2e/clients.goldoutput/client5.out new file mode 100644 index 0000000000000000000000000000000000000000..77577046e0f6dc7f5722ef574495ed6c27a340a7 --- /dev/null +++ b/basice2e/clients.goldoutput/client5.out @@ -0,0 +1,2 @@ +Message from 31, #general Received: Channel, Hello +Sending Message to 31, #general: Channel, Hello diff --git a/basice2e/run.sh b/basice2e/run.sh index 016741c4f93cc308cb6a67d16c8182825df1c0e1..373b710a367053a3ba69c851a8fd6e43b20ce4e1 100755 --- a/basice2e/run.sh +++ b/basice2e/run.sh @@ -25,8 +25,8 @@ do sleep 15 # This will force a CDE timeout fi $SERVERCMD > $SERVERLOGS/server-$SERVERID.console 2>&1 & - RETVAL=$! - echo "$SERVERCMD -- $RETVAL" + PIDVAL=$! + echo "$SERVERCMD -- $PIDVAL" done jobs -p > results/serverpids @@ -47,7 +47,7 @@ finish() { trap finish EXIT trap finish INT -sleep 20 # FIXME: We should not need this, but the servers don't respond quickly +sleep 45 # FIXME: We should not need this, but the servers don't respond quickly # enough on boot right now. export LASTNODE="localhost:50004" @@ -59,29 +59,24 @@ export NICK4="Rick" runclients() { echo "Starting clients..." CTR=0 + 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 nid=$((($cid % 4) + 1)) eval NICK=\${NICK${cid}} - # Send a channel message - # CLIENTCMD="timeout 10s ../bin/client -f blob$cid$nid --numnodes 5 -s $LASTNODE -i $cid -d 35 -m \"Channel, $nid\" --nick $NICK" - # eval $CLIENTCMD >> $CLIENTOUT/client$cid$nid.out 2>&1 & - # RETVAL=$! - # eval CLIENTSCH${CTR}=$RETVAL - # echo "$CLIENTCMD -- $RETVAL" - # Send a regular message - CLIENTCMD="timeout 60s ../bin/client -f blob$cid$nid --numnodes 5 -s $LASTNODE -i $cid -d $nid -m \"Hello, $nid\" --nick $NICK --noratchet" + CLIENTCMD="timeout 60s ../bin/client -f blob$cid --numnodes 5 -s $LASTNODE -i $cid -d $nid -m \"Hello, $nid\" --nick $NICK --noratchet" eval $CLIENTCMD >> $CLIENTOUT/client$cid$nid.out 2>&1 & - RETVAL=$! - eval CLIENTS${CTR}=$RETVAL - echo "$CLIENTCMD -- $RETVAL" + PIDVAL=$! + eval CLIENTS${CTR}=$PIDVAL + echo "$CLIENTCMD -- $PIDVAL" CTR=$(($CTR + 1)) done done @@ -95,16 +90,25 @@ runclients() { } # Start a channelbot server -../bin/client channelbot -v -i 31 --nick "#general" --numnodes 5 -s $LASTNODE \ - -f blobchannel --noratchet \ - 2>&1 > $CHANNELOUT & -echo $! >> results/serverpids +CHANNELCMD="../bin/client channelbot -v -i 31 --nick \"#general\" --numnodes 5 -s $LASTNODE -f blobchannel --noratchet" +eval $CHANNELCMD >> $CHANNELOUT 2>&1 & +PIDVAL=$! +echo "$CHANNELCMD -- $PIDVAL" +echo $PIDVAL >> results/serverpids # Start a dummy client -../bin/client -i 35 -d 35 -s $LASTNODE --numnodes 5 -m "dummy" --nick "dummy" \ - --dummyfrequency 0.5 --noratchet \ - -f blobdummy 2>&1 > $DUMMYOUT & -echo $! >> results/serverpids +DUMMYCMD="../bin/client -i 35 -d 35 -s $LASTNODE --numnodes 5 -m \"dummy\" --nick \"dummy\" --dummyfrequency 0.5 --noratchet -f blobdummy" +eval $DUMMYCMD >> $DUMMYOUT 2>&1 & +PIDVAL=$! +echo "$DUMMYCMD -- $PIDVAL" +echo $PIDVAL >> results/serverpids + +# Send a channel message that all clients will receive +CLIENTCMD="timeout 60s ../bin/client -f blob5 --numnodes 5 -s $LASTNODE -i 5 -d 31 -m \"Channel, Hello\" --nick Spencer --noratchet" +eval $CLIENTCMD >> $CLIENTOUT/client5.out 2>&1 & +PIDVAL=$! +echo "$CLIENTCMD -- $PIDVAL" +wait $PIDVAL echo "RUNNING CLIENTS..." runclients @@ -115,7 +119,9 @@ runclients for F in $(find results/clients -type f) do cat $F | grep -v "[Rr]atcheting" > $F.tmp - mv $F.tmp $F + # Sort the messages, as we don't care if they arrive out of order + sort $F.tmp > $F + rm $F.tmp done