1414import io .netty .channel .ChannelHandlerContext ;
1515import io .netty .handler .codec .ByteToMessageDecoder ;
1616import java .net .InetAddress ;
17+ import java .util .ArrayList ;
1718import java .util .Collections ;
1819import java .util .Date ;
1920import java .util .List ;
21+ import java .util .concurrent .ConcurrentHashMap ;
2022import lombok .extern .slf4j .Slf4j ;
2123import org .apache .commons .collections4 .map .LRUMap ;
2224import org .apache .commons .lang3 .ArrayUtils ;
@@ -173,12 +175,14 @@ public void repeatConnectTest() throws InterruptedException {
173175
174176 // @Test
175177 public void unHandshakeTest () throws InterruptedException {
178+ List <PeerConnection > beforeActivePeers = ReflectUtils .getFieldValue (pool , "activePeers" );
179+ int beforeSize = beforeActivePeers .size ();
176180 Channel channel = createClient (new HandshakeHandler (TestType .normal ));
177181 BlockMessage message = new BlockMessage (Block .getDefaultInstance ());
178- List <PeerConnection > beforeActivePeers = ReflectUtils .getFieldValue (pool , "activePeers" );
179182 sendMessage (channel , message );
180183 List <PeerConnection > afterActivePeers = ReflectUtils .getFieldValue (pool , "activePeers" );
181- Assert .assertEquals (beforeActivePeers .size (), afterActivePeers .size ());
184+ int afterSize = afterActivePeers .size ();
185+ Assert .assertEquals (beforeSize , afterSize );
182186 clearConnect (channel );
183187 }
184188
@@ -226,9 +230,13 @@ private void validResultCloseConnect(Channel channel) throws InterruptedExceptio
226230 }
227231 Assert .assertEquals (finish , true );
228232 finish = false ;
233+ channel .close ();
234+ Thread .sleep (sleepTime );
229235 ReflectUtils .setFieldValue (channelManager , "recentlyDisconnected" , Collections
230236 .synchronizedMap (new LRUMap <InetAddress , Date >(500 )));
231- channel .close ();
237+ ReflectUtils .setFieldValue (pool , "activePeers" ,
238+ Collections .synchronizedList (new ArrayList <PeerConnection >()));
239+ ReflectUtils .setFieldValue (channelManager , "activePeers" , new ConcurrentHashMap <>());
232240 }
233241
234242 private void validResultUnCloseConnect () throws InterruptedException {
@@ -240,27 +248,33 @@ private void validResultUnCloseConnect() throws InterruptedException {
240248 finish = false ;
241249 }
242250
243- private void clearConnect (Channel channel ) {
251+ private void clearConnect (Channel channel ) throws InterruptedException {
252+ channel .close ();
253+ Thread .sleep (org .tron .common .overlay .server .SyncPool .getActivePeers );
244254 ReflectUtils .setFieldValue (channelManager , "recentlyDisconnected" , Collections
245255 .synchronizedMap (new LRUMap <InetAddress , Date >(500 )));
246- channel .close ();
256+ ReflectUtils .setFieldValue (pool , "activePeers" ,
257+ Collections .synchronizedList (new ArrayList <PeerConnection >()));
258+ ReflectUtils .setFieldValue (channelManager , "activePeers" , new ConcurrentHashMap <>());
247259 }
248260
249261 @ Test
250262 public void testAll () throws InterruptedException {
251- logger .info ("begin normal test " );
252- normalTest ();
253- logger .info ("begin errorGenesisBlockId test " );
254- errorGenesisBlockIdTest ();
255- logger .info ("begin errorVersion test " );
256- errorVersionTest ();
257- logger .info ("begin errorSolidBlockId test " );
258- errorSolidBlockIdTest ();
259- logger .info ("begin repeatConnect test" );
260- repeatConnectTest ();
261- logger .info ("begin unHandshake test" );
262- unHandshakeTest ();
263- logger .info ("begin errorMsg test" );
264- errorMsgTest ();
263+ for (int i = 0 ; i < 100 ; i ++) {
264+ logger .info ("begin normal test " );
265+ normalTest ();
266+ logger .info ("begin errorGenesisBlockId test " );
267+ errorGenesisBlockIdTest ();
268+ logger .info ("begin errorVersion test " );
269+ errorVersionTest ();
270+ logger .info ("begin errorSolidBlockId test " );
271+ errorSolidBlockIdTest ();
272+ logger .info ("begin repeatConnect test" );
273+ repeatConnectTest ();
274+ logger .info ("begin unHandshake test" );
275+ unHandshakeTest ();
276+ logger .info ("begin errorMsg test" );
277+ errorMsgTest ();
278+ }
265279 }
266280}
0 commit comments