Skip to content
This repository was archived by the owner on Aug 2, 2021. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
4d65aea
swarm/network/stream: newStreamerTester cleanup only if err is nil
janos Feb 8, 2019
73d5c97
swarm/network/stream: raise newStreamerTester waitForPeers timeout
janos Feb 8, 2019
d233560
swarm/network/stream: fix data races in GetPeerSubscriptions
janos Feb 8, 2019
edfee9c
swarm/storage: prevent data race on LDBStore.batchesC
janos Feb 8, 2019
91f8735
swarm/network/stream: fix TestGetSubscriptionsRPC data race
janos Feb 8, 2019
11d9441
swarm/network/stream: correctly use Simulation.Run callback
janos Feb 8, 2019
e411147
swarm/network: protect addrCountC in Kademlia.AddrCountC function
janos Feb 11, 2019
080f4c2
p2p/simulations: fix a deadlock calling getRandomNode with lock
janos Feb 11, 2019
b151dc2
swarm/network/stream: terminate disconnect goruotines in tests
janos Feb 11, 2019
4f5807b
swarm/network/stream: reduce memory consumption when testing data races
janos Feb 11, 2019
dee2145
swarm/network/stream: add watchDisconnections helper function
janos Feb 12, 2019
c3f2368
swarm/network/stream: add concurrent counter for tests
janos Feb 12, 2019
baed029
swarm/network/stream: rename race/norace test files and use const
janos Feb 12, 2019
1467d2b
swarm/network/stream: remove watchSim and its panic
janos Feb 12, 2019
3710a72
swarm/network/stream: pass context in watchDisconnections
janos Feb 12, 2019
714d871
swarm/network/stream: add concurrent safe bool for watchDisconnections
janos Feb 12, 2019
d8f29cf
swarm/storage: fix LDBStore.batchesC data race by not closing it
janos Feb 13, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 24 additions & 8 deletions swarm/network/stream/delivery_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -485,7 +485,8 @@ func testDeliveryFromNodes(t *testing.T, nodes, chunkCount int, skipCheck bool)
}

log.Info("Starting simulation")
ctx := context.Background()
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
result := sim.Run(ctx, func(ctx context.Context, sim *simulation.Simulation) (err error) {
nodeIDs := sim.UpNodeIDs()
//determine the pivot node to be the first node of the simulation
Expand Down Expand Up @@ -557,9 +558,16 @@ func testDeliveryFromNodes(t *testing.T, nodes, chunkCount int, skipCheck bool)

var disconnected atomic.Value
go func() {
for d := range disconnections {
if d.Error != nil {
log.Error("peer drop", "node", d.NodeID, "peer", d.PeerID)
for {
select {
case <-ctx.Done():
return
case d := <-disconnections:
if d.Error != nil {
log.Error("peer drop event error", "node", d.NodeID, "peer", d.PeerID, "err", err)
} else {
log.Error("peer drop", "node", d.NodeID, "peer", d.PeerID)
}
disconnected.Store(true)
}
}
Expand Down Expand Up @@ -657,7 +665,8 @@ func benchmarkDeliveryFromNodes(b *testing.B, nodes, chunkCount int, skipCheck b
b.Fatal(err)
}

ctx := context.Background()
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
result := sim.Run(ctx, func(ctx context.Context, sim *simulation.Simulation) (err error) {
nodeIDs := sim.UpNodeIDs()
node := nodeIDs[len(nodeIDs)-1]
Expand Down Expand Up @@ -687,9 +696,16 @@ func benchmarkDeliveryFromNodes(b *testing.B, nodes, chunkCount int, skipCheck b

var disconnected atomic.Value
go func() {
for d := range disconnections {
if d.Error != nil {
log.Error("peer drop", "node", d.NodeID, "peer", d.PeerID)
for {
select {
case <-ctx.Done():
return
case d := <-disconnections:
if d.Error != nil {
log.Error("peer drop event error", "node", d.NodeID, "peer", d.PeerID, "err", err)
} else {
log.Error("peer drop", "node", d.NodeID, "peer", d.PeerID)
}
disconnected.Store(true)
}
}
Expand Down
13 changes: 10 additions & 3 deletions swarm/network/stream/intervals_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -148,9 +148,16 @@ func testIntervals(t *testing.T, live bool, history *Range, skipCheck bool) {

var disconnected atomic.Value
go func() {
for d := range disconnections {
if d.Error != nil {
log.Error("peer drop", "node", d.NodeID, "peer", d.PeerID)
for {
select {
case <-ctx.Done():
return
case d := <-disconnections:
if d.Error != nil {
log.Error("peer drop event error", "node", d.NodeID, "peer", d.PeerID, "err", err)
} else {
log.Error("peer drop", "node", d.NodeID, "peer", d.PeerID)
}
disconnected.Store(true)
}
}
Expand Down
13 changes: 10 additions & 3 deletions swarm/network/stream/snapshot_sync_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -164,9 +164,16 @@ func testSyncingViaGlobalSync(t *testing.T, chunkCount int, nodeCount int) {

var disconnected atomic.Value
go func() {
for d := range disconnections {
if d.Error != nil {
log.Error("peer drop", "node", d.NodeID, "peer", d.PeerID)
for {
select {
case <-ctx.Done():
return
case d := <-disconnections:
if d.Error != nil {
log.Error("peer drop event error", "node", d.NodeID, "peer", d.PeerID, "err", err)
} else {
log.Error("peer drop", "node", d.NodeID, "peer", d.PeerID)
}
disconnected.Store(true)
}
}
Expand Down
13 changes: 10 additions & 3 deletions swarm/network/stream/syncer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -122,9 +122,16 @@ func testSyncBetweenNodes(t *testing.T, nodes, chunkCount int, skipCheck bool, p

var disconnected atomic.Value
go func() {
for d := range disconnections {
if d.Error != nil {
log.Error("peer drop", "node", d.NodeID, "peer", d.PeerID)
for {
select {
case <-ctx.Done():
return
case d := <-disconnections:
if d.Error != nil {
log.Error("peer drop event error", "node", d.NodeID, "peer", d.PeerID, "err", err)
} else {
log.Error("peer drop", "node", d.NodeID, "peer", d.PeerID)
}
disconnected.Store(true)
}
}
Expand Down
17 changes: 13 additions & 4 deletions swarm/network/stream/visualized_snapshot_sync_sim_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -81,10 +81,19 @@ func watchSim(sim *simulation.Simulation) (context.Context, context.CancelFunc)
)

go func() {
for d := range disconnections {
log.Error("peer drop", "node", d.NodeID, "peer", d.PeerID)
panic("unexpected disconnect")
cancelSimRun()
for {
select {
case <-ctx.Done():
return
case d := <-disconnections:
if d.Error != nil {
log.Error("peer drop event error", "node", d.NodeID, "peer", d.PeerID, "err", err)
} else {
log.Error("peer drop", "node", d.NodeID, "peer", d.PeerID)
}
panic("unexpected disconnect")
cancelSimRun()
}
}
}()

Expand Down