all: fix goroutine leaks in unit tests by adding 1-elem channel buffer (#20666)
This fixes a bunch of cases where a timeout in the test would leak a goroutine.
This commit is contained in:
parent
57d4898e29
commit
1b9c5b393b
@ -96,7 +96,7 @@ func TestSimulatedSleep(t *testing.T) {
|
|||||||
var (
|
var (
|
||||||
c Simulated
|
c Simulated
|
||||||
timeout = 1 * time.Hour
|
timeout = 1 * time.Hour
|
||||||
done = make(chan AbsTime)
|
done = make(chan AbsTime, 1)
|
||||||
)
|
)
|
||||||
go func() {
|
go func() {
|
||||||
c.Sleep(timeout)
|
c.Sleep(timeout)
|
||||||
|
@ -670,7 +670,7 @@ func TestBroadcastMalformedBlock(t *testing.T) {
|
|||||||
malformedEverything.TxHash[0]++
|
malformedEverything.TxHash[0]++
|
||||||
|
|
||||||
// Keep listening to broadcasts and notify if any arrives
|
// Keep listening to broadcasts and notify if any arrives
|
||||||
notify := make(chan struct{})
|
notify := make(chan struct{}, 1)
|
||||||
go func() {
|
go func() {
|
||||||
if _, err := sink.app.ReadMsg(); err == nil {
|
if _, err := sink.app.ReadMsg(); err == nil {
|
||||||
notify <- struct{}{}
|
notify <- struct{}{}
|
||||||
|
@ -550,7 +550,7 @@ func TestServerInboundThrottle(t *testing.T) {
|
|||||||
conn.Close()
|
conn.Close()
|
||||||
|
|
||||||
// Dial again. This time the server should close the connection immediately.
|
// Dial again. This time the server should close the connection immediately.
|
||||||
connClosed := make(chan struct{})
|
connClosed := make(chan struct{}, 1)
|
||||||
conn, err = net.DialTimeout("tcp", srv.ListenAddr, timeout)
|
conn, err = net.DialTimeout("tcp", srv.ListenAddr, timeout)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("could not dial: %v", err)
|
t.Fatalf("could not dial: %v", err)
|
||||||
|
@ -297,7 +297,7 @@ func TestClientSubscribeClose(t *testing.T) {
|
|||||||
|
|
||||||
var (
|
var (
|
||||||
nc = make(chan int)
|
nc = make(chan int)
|
||||||
errc = make(chan error)
|
errc = make(chan error, 1)
|
||||||
sub *ClientSubscription
|
sub *ClientSubscription
|
||||||
err error
|
err error
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user