@@ -8,14 +8,12 @@ function usage(){
8
8
cat << EOF
9
9
Usage:
10
10
$0
11
- --network-delay DELAYms
12
- simulated network delay in ms; default=500ms
11
+ --network-delays "500:300"
12
+ list of delays for each node in ms; default="500:500:500:500:500"
13
13
--no-build-image
14
14
skip docker image build
15
- --nodes "Node0:Node1"
16
- list of nodes (Node0..Node4) for this script to handle; default="Node0:Node1:Node2:Node3:Node4"
17
- --node-ports "9934:9935"
18
- list of rpc ports for --nodes; default="9933:9934:9935:9936:9937"
15
+ --nodes "Node0:9933:Node1:9934"
16
+ list of pairs node:rpc_port; default="Node0:9933:Node1:9934:Node2:9935:Node3:9936:Node4:9937"
19
17
--check-block number
20
18
check finalization for a given block number, 0 means no-check; default=42
21
19
EOF
@@ -36,8 +34,8 @@ function set_network_delay() {
36
34
37
35
while [[ $# -gt 0 ]]; do
38
36
case $1 in
39
- --network-delay )
40
- NETWORK_DELAY =" $2 "
37
+ --network-delays )
38
+ NETWORK_DELAYS =" $2 "
41
39
shift ; shift
42
40
;;
43
41
--no-build-image)
@@ -48,10 +46,6 @@ while [[ $# -gt 0 ]]; do
48
46
NODES=" $2 "
49
47
shift ; shift
50
48
;;
51
- --node-ports)
52
- NODES_PORTS=" $2 "
53
- shift ; shift
54
- ;;
55
49
--check-block)
56
50
CHECK_BLOCK_FINALIZATION=" $2 "
57
51
shift ; shift
@@ -66,17 +60,27 @@ while [[ $# -gt 0 ]]; do
66
60
esac
67
61
done
68
62
69
- NETWORK_DELAY =${NETWORK_DELAY :- 500}
63
+ NETWORK_DELAYS =${NETWORK_DELAYS :- " 500:500:500:500:500 " }
70
64
BUILD_IMAGE=${BUILD_IMAGE:- true}
71
- NODES =${NODES:- " Node0:Node1:Node2:Node3:Node4" }
65
+ NODE_PAIRS =${NODES:- " Node0:9933: Node1:9934: Node2:9935: Node3:9936: Node4:9937 " }
72
66
NODES_PORTS=${NODES_PORTS:- " 9933:9934:9935:9936:9937" }
73
- CHECK_BLOCK_FINALIZATION=${CHECK_BLOCK_FINALIZATION:- 42}
67
+ CHECK_BLOCK_FINALIZATION=${CHECK_BLOCK_FINALIZATION:- 44}
68
+
69
+ into_array $NETWORK_DELAYS
70
+ NETWORK_DELAYS=(${result[@]} )
74
71
75
- into_array $NODES
76
- NODES=(${result[@]} )
72
+ into_array $NODE_PAIRS
73
+ NODE_PAIRS=(${result[@]} )
74
+ NODES=()
75
+ NODES_PORTS=()
76
+ for (( i= 0 ; i< ${# NODE_PAIRS[@]} ; i+= 2 )) ; do
77
+ node=${NODE_PAIRS[$i]}
78
+ port=${NODE_PAIRS[(($i + 1))]}
79
+
80
+ NODES+=($node )
81
+ NODES_PORTS+=($port )
82
+ done
77
83
78
- into_array $NODES_PORTS
79
- NODES_PORTS=(${result[@]} )
80
84
81
85
if [[ " $BUILD_IMAGE " = true ]]; then
82
86
log " building custom docker image for network tests"
@@ -87,9 +91,12 @@ log "starting network"
87
91
OVERRIDE_DOCKER_COMPOSE=./docker/docker-compose.network_tests.yml DOCKER_COMPOSE=./docker/docker-compose.bridged.yml ./.github/scripts/run_consensus.sh 1>&2
88
92
log " network started"
89
93
90
- log " setting network delay"
91
- for node in ${NODES[@]} ; do
92
- set_network_delay $node $NETWORK_DELAY
94
+ for i in " ${! NODES[@]} " ; do
95
+ node=${NODES[$i]}
96
+ delay=${NETWORK_DELAYS[$i]}
97
+ log " setting network delay for node $node to ${delay} ms"
98
+
99
+ set_network_delay $node $delay
93
100
done
94
101
95
102
if [[ $CHECK_BLOCK_FINALIZATION -gt 0 ]]; then
0 commit comments