p2p/discover: attempt to deflake TestUDP_responseTimeouts

The test expected the timeout to fire after a matcher for the response
was added, but the timeout is random and fired sooner sometimes.
This commit is contained in:
Felix Lange 2015-12-17 23:28:27 +01:00
parent 6c41e675ec
commit b3f1f4c673

View File

@ -167,16 +167,17 @@ func TestUDP_responseTimeouts(t *testing.T) {
binary.BigEndian.PutUint64(p.from[:], uint64(i)) binary.BigEndian.PutUint64(p.from[:], uint64(i))
if p.ptype <= 128 { if p.ptype <= 128 {
p.errc = timeoutErr p.errc = timeoutErr
test.udp.addpending <- p
nTimeouts++ nTimeouts++
} else { } else {
p.errc = nilErr p.errc = nilErr
test.udp.addpending <- p
time.AfterFunc(randomDuration(60*time.Millisecond), func() { time.AfterFunc(randomDuration(60*time.Millisecond), func() {
if !test.udp.handleReply(p.from, p.ptype, nil) { if !test.udp.handleReply(p.from, p.ptype, nil) {
t.Logf("not matched: %v", p) t.Logf("not matched: %v", p)
} }
}) })
} }
test.udp.addpending <- p
time.Sleep(randomDuration(30 * time.Millisecond)) time.Sleep(randomDuration(30 * time.Millisecond))
} }