@@ -21,6 +21,7 @@ import (
21
21
"fmt"
22
22
"net/netip"
23
23
"slices"
24
+ "sync"
24
25
"testing"
25
26
26
27
"github.com/CortexFoundation/CortexTheseus/crypto"
@@ -67,15 +68,23 @@ func TestUDPv4_Lookup(t *testing.T) {
67
68
func TestUDPv4_LookupIterator (t * testing.T ) {
68
69
t .Parallel ()
69
70
test := newUDPTest (t )
70
- defer test .close ()
71
+ var wg sync.WaitGroup
72
+ defer func () {
73
+ test .close ()
74
+ wg .Wait ()
75
+ }()
71
76
72
77
// Seed table with initial nodes.
73
78
bootnodes := make ([]* enode.Node , len (lookupTestnet .dists [256 ]))
74
79
for i := range lookupTestnet .dists [256 ] {
75
80
bootnodes [i ] = lookupTestnet .node (256 , i )
76
81
}
77
82
fillTable (test .table , bootnodes , true )
78
- go serveTestnet (test , lookupTestnet )
83
+ wg .Add (1 )
84
+ go func () {
85
+ serveTestnet (test , lookupTestnet )
86
+ wg .Done ()
87
+ }()
79
88
80
89
// Create the iterator and collect the nodes it yields.
81
90
iter := test .udp .RandomNodes ()
@@ -102,15 +111,24 @@ func TestUDPv4_LookupIterator(t *testing.T) {
102
111
func TestUDPv4_LookupIteratorClose (t * testing.T ) {
103
112
t .Parallel ()
104
113
test := newUDPTest (t )
105
- defer test .close ()
114
+ var wg sync.WaitGroup
115
+ defer func () {
116
+ test .close ()
117
+ wg .Wait ()
118
+ }()
106
119
107
120
// Seed table with initial nodes.
108
121
bootnodes := make ([]* enode.Node , len (lookupTestnet .dists [256 ]))
109
122
for i := range lookupTestnet .dists [256 ] {
110
123
bootnodes [i ] = lookupTestnet .node (256 , i )
111
124
}
112
125
fillTable (test .table , bootnodes , true )
113
- go serveTestnet (test , lookupTestnet )
126
+
127
+ wg .Add (1 )
128
+ go func () {
129
+ serveTestnet (test , lookupTestnet )
130
+ wg .Done ()
131
+ }()
114
132
115
133
it := test .udp .RandomNodes ()
116
134
if ok := it .Next (); ! ok || it .Node () == nil {
0 commit comments