Correctly stop the test gossip router to prevent complaints of data races in subsequent tests.

This commit is contained in:
Tom Wilkie committed 2015-07-17 13:48:39 +00:00
1 parent ba3451e9ca
commit a3d32068d2
2 files changed
+9 -2

No files matched your search

+3 -2
View File
@@ -31,10 +31,11 @@ func makeNetwork(size int) ([]*Nameserver, *gossip.TestRouter) {
return nameservers, gossipRouter
}
func stopNetwork(nameservers []*Nameserver) {
func stopNetwork(nameservers []*Nameserver, grouter *gossip.TestRouter) {
for _, nameserver := range nameservers {
nameserver.Stop()
}
grouter.Stop()
}
type pair struct {
@@ -74,7 +75,7 @@ func TestNameservers(t *testing.T) {
lookupTimeout := 20 // ms
nameservers, grouter := makeNetwork(50)
defer stopNetwork(nameservers)
defer stopNetwork(nameservers, grouter)
nameserversByName := map[router.PeerName]*Nameserver{}
for _, n := range nameservers {
nameserversByName[n.ourName] = n
+6
View File
@@ -34,6 +34,12 @@ func NewTestRouter(loss float32) *TestRouter {
return &TestRouter{make(map[router.PeerName]chan interface{}, 100), loss}
}
func (grouter *TestRouter) Stop() {
for peer := range grouter.gossipChans {
grouter.RemovePeer(peer)
}
}
func (grouter *TestRouter) gossipBroadcast(sender router.PeerName, update router.GossipData) error {
for _, gossipChan := range grouter.gossipChans {
select {