@@ -91,9 +91,8 @@ func (s *Suite) TestGetBlockHeaders_66(t *utesting.T) {
91
91
// headers per request.
92
92
func (s * Suite ) TestSimultaneousRequests_66 (t * utesting.T ) {
93
93
// create two connections
94
- conn1 , conn2 := s .setupConnection66 (t ), s .setupConnection66 (t )
95
- defer conn1 .Close ()
96
- defer conn2 .Close ()
94
+ conn := s .setupConnection66 (t )
95
+ defer conn .Close ()
97
96
// create two requests
98
97
req1 := & eth.GetBlockHeadersPacket66 {
99
98
RequestId : 111 ,
@@ -117,27 +116,29 @@ func (s *Suite) TestSimultaneousRequests_66(t *utesting.T) {
117
116
Reverse : false ,
118
117
},
119
118
}
120
- // wait for headers for first request
121
- headerChan := make (chan BlockHeaders , 1 )
122
- go func (headers chan BlockHeaders ) {
123
- recvHeaders , err := s .getBlockHeaders66 (conn1 , req1 , req1 .RequestId )
124
- if err != nil {
125
- t .Fatalf ("could not get block headers: %v" , err )
126
- return
127
- }
128
- headers <- recvHeaders
129
- }(headerChan )
130
- // check headers of second request
131
- headers1 , err := s .getBlockHeaders66 (conn2 , req2 , req2 .RequestId )
119
+ // write first request
120
+ if err := conn .write66 (req1 , GetBlockHeaders {}.Code ()); err != nil {
121
+ t .Fatalf ("failed to write to connection: %v" , err )
122
+ }
123
+ // write second request
124
+ if err := conn .write66 (req2 , GetBlockHeaders {}.Code ()); err != nil {
125
+ t .Fatalf ("failed to write to connection: %v" , err )
126
+ }
127
+ // wait for responses
128
+ headers1 , err := s .waitForBlockHeadersResponse66 (conn , req1 .RequestId )
132
129
if err != nil {
133
- t .Fatalf ("could not get block headers: %v" , err )
130
+ t .Fatalf ("error while waiting for block headers: %v" , err )
131
+ }
132
+ headers2 , err := s .waitForBlockHeadersResponse66 (conn , req2 .RequestId )
133
+ if err != nil {
134
+ t .Fatalf ("error while waiting for block headers: %v" , err )
134
135
}
136
+ // check headers of both responses
135
137
if ! headersMatch (t , s .chain , headers1 ) {
136
- t .Fatal ("wrong header(s) in response to req2" )
138
+ t .Fatalf ("wrong header(s) in response to req1: got %v" , headers1 )
137
139
}
138
- // check headers of first request
139
- if ! headersMatch (t , s .chain , <- headerChan ) {
140
- t .Fatal ("wrong header(s) in response to req1" )
140
+ if ! headersMatch (t , s .chain , headers2 ) {
141
+ t .Fatalf ("wrong header(s) in response to req2: got %v" , headers2 )
141
142
}
142
143
}
143
144
0 commit comments