From abfdfe67e8df2c847d2e6a663dd69150231e778f Mon Sep 17 00:00:00 2001 From: Ethan Buchman Date: Fri, 29 Dec 2017 11:02:41 -0500 Subject: [PATCH] test/p2p: add some timeouts --- test/p2p/basic/test.sh | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/test/p2p/basic/test.sh b/test/p2p/basic/test.sh index 93444792..63df62be 100644 --- a/test/p2p/basic/test.sh +++ b/test/p2p/basic/test.sh @@ -10,16 +10,25 @@ N=$1 # wait to be at height > 1 ################################################################### +# wait 60s per step per peer +MAX_SLEEP=60 + # wait for everyone to come online echo "Waiting for nodes to come online" for i in `seq 1 $N`; do addr=$(test/p2p/ip.sh $i):46657 curl -s $addr/status > /dev/null ERR=$? + COUNT=0 while [ "$ERR" != 0 ]; do - sleep 1 + sleep 1 curl -s $addr/status > /dev/null ERR=$? + COUNT=$((COUNT+1)) + if [ "$COUNT" -gt "$MAX_SLEEP" ]; then + echo "Waited too long for node $i to come online" + exit 1 + fi done echo "... node $i is up" done @@ -32,18 +41,30 @@ for i in `seq 1 $N`; do # - assert everyone has N-1 other peers N_PEERS=`curl -s $addr/net_info | jq '.result.peers | length'` + COUNT=0 while [ "$N_PEERS" != $N_1 ]; do echo "Waiting for node $i to connect to all peers ..." sleep 1 N_PEERS=`curl -s $addr/net_info | jq '.result.peers | length'` + COUNT=$((COUNT+1)) + if [ "$COUNT" -gt "$MAX_SLEEP" ]; then + echo "Waited too long for node $i to connect to all peers" + exit 1 + fi done # - assert block height is greater than 1 BLOCK_HEIGHT=`curl -s $addr/status | jq .result.latest_block_height` + COUNT=0 while [ "$BLOCK_HEIGHT" -le 1 ]; do echo "Waiting for node $i to commit a block ..." sleep 1 BLOCK_HEIGHT=`curl -s $addr/status | jq .result.latest_block_height` + COUNT=$((COUNT+1)) + if [ "$COUNT" -gt "$MAX_SLEEP" ]; then + echo "Waited too long for node $i to commit a block" + exit 1 + fi done echo "Node $i is connected to all peers and at block $BLOCK_HEIGHT" done