@@ -554,12 +554,12 @@ func TestBroadcastBlock(t *testing.T) {
554
554
broadcastExpected int
555
555
}{
556
556
{1 , 1 },
557
- {2 , 2 },
558
- {3 , 3 },
559
- {4 , 4 },
560
- {5 , 4 },
561
- {9 , 4 },
562
- {12 , 4 },
557
+ {2 , 1 },
558
+ {3 , 1 },
559
+ {4 , 2 },
560
+ {5 , 2 },
561
+ {9 , 3 },
562
+ {12 , 3 },
563
563
{16 , 4 },
564
564
{26 , 5 },
565
565
{100 , 10 },
@@ -592,6 +592,7 @@ func testBroadcastBlock(t *testing.T, totalPeers, broadcastExpected int) {
592
592
for i := 0 ; i < totalPeers ; i ++ {
593
593
peer , _ := newTestPeer (fmt .Sprintf ("peer %d" , i ), eth63 , pm , true )
594
594
defer peer .close ()
595
+
595
596
peers = append (peers , peer )
596
597
}
597
598
chain , _ := core .GenerateChain (gspec .Config , genesis , ethash .NewFaker (), db , 1 , func (i int , gen * core.BlockGen ) {})
@@ -608,31 +609,23 @@ func testBroadcastBlock(t *testing.T, totalPeers, broadcastExpected int) {
608
609
}
609
610
}(peer )
610
611
}
611
- timeout := time .After (2 * time .Second )
612
- var receivedCount int
613
- outer:
612
+ var received int
614
613
for {
615
614
select {
616
- case err = <- errCh :
617
- break outer
618
615
case <- doneCh :
619
- receivedCount ++
620
- if receivedCount == totalPeers {
621
- break outer
616
+ received ++
617
+
618
+ case <- time .After (100 * time .Millisecond ):
619
+ if received != broadcastExpected {
620
+ t .Errorf ("broadcast count mismatch: have %d, want %d" , received , broadcastExpected )
622
621
}
623
- case <- timeout :
624
- break outer
622
+ return
623
+
624
+ case err = <- errCh :
625
+ t .Fatalf ("broadcast failed: %v" , err )
625
626
}
626
627
}
627
- for _ , peer := range peers {
628
- peer .app .Close ()
629
- }
630
- if err != nil {
631
- t .Errorf ("error matching block by peer: %v" , err )
632
- }
633
- if receivedCount != broadcastExpected {
634
- t .Errorf ("block broadcast to %d peers, expected %d" , receivedCount , broadcastExpected )
635
- }
628
+
636
629
}
637
630
638
631
// Tests that a propagated malformed block (uncles or transactions don't match
0 commit comments