Skip to content

Commit

Permalink
fix: testkit: give up on waiting for the RPC server to shutdown after…
Browse files Browse the repository at this point in the history
… 1 second
  • Loading branch information
dirkmc committed Apr 7, 2022
1 parent f652dd3 commit 5f0489a
Showing 1 changed file with 21 additions and 1 deletion.
22 changes: 21 additions & 1 deletion itests/kit/rpc.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
"net/http"
"net/http/httptest"
"testing"
"time"

"github.com/stretchr/testify/require"

Expand All @@ -25,7 +26,9 @@ func CreateRPCServer(t *testing.T, handler http.Handler, listener net.Listener)
}
testServ.Start()

t.Cleanup(testServ.Close)
t.Cleanup(func() {
waitUpTo(testServ.Close, time.Second, "Gave up waiting for RPC server to close after 1s")
})
t.Cleanup(testServ.CloseClientConnections)

addr := testServ.Listener.Addr()
Expand All @@ -34,6 +37,23 @@ func CreateRPCServer(t *testing.T, handler http.Handler, listener net.Listener)
return testServ, maddr
}

func waitUpTo(fn func(), waitTime time.Duration, errMsg string) {
ch := make(chan struct{})
go func() {
fn()
close(ch)
}()

timer := time.NewTimer(waitTime)
defer timer.Stop()
select {
case <-ch:
case <-timer.C:
fmt.Println(errMsg)
return
}
}

func fullRpc(t *testing.T, f *TestFullNode) *TestFullNode {
handler, err := node.FullNodeHandler(f.FullNode, false)
require.NoError(t, err)
Expand Down

0 comments on commit 5f0489a

Please sign in to comment.