diff --git a/abci/client/socket_client_test.go b/abci/client/socket_client_test.go deleted file mode 100644 index 9afcce739..000000000 --- a/abci/client/socket_client_test.go +++ /dev/null @@ -1,85 +0,0 @@ -package abciclient_test - -import ( - "context" - "fmt" - "testing" - "time" - - "math/rand" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - - abciclient "github.com/tendermint/tendermint/abci/client" - "github.com/tendermint/tendermint/abci/server" - "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/service" -) - -func TestProperSyncCalls(t *testing.T) { - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - - app := slowApp{} - logger := log.NewNopLogger() - - _, c := setupClientServer(ctx, t, logger, app) - - resp := make(chan error, 1) - go func() { - rsp, err := c.FinalizeBlock(ctx, types.RequestFinalizeBlock{}) - assert.NoError(t, err) - assert.NoError(t, c.Flush(ctx)) - assert.NotNil(t, rsp) - select { - case <-ctx.Done(): - case resp <- c.Error(): - } - }() - - select { - case <-time.After(time.Second): - require.Fail(t, "No response arrived") - case err, ok := <-resp: - require.True(t, ok, "Must not close channel") - assert.NoError(t, err, "This should return success") - } -} - -func setupClientServer( - ctx context.Context, - t *testing.T, - logger log.Logger, - app types.Application, -) (service.Service, abciclient.Client) { - t.Helper() - - // some port between 20k and 30k - port := 20000 + rand.Int31()%10000 - addr := fmt.Sprintf("localhost:%d", port) - - s, err := server.NewServer(logger, addr, "socket", app) - require.NoError(t, err) - require.NoError(t, s.Start(ctx)) - t.Cleanup(s.Wait) - - c := abciclient.NewSocketClient(logger, addr, true) - require.NoError(t, c.Start(ctx)) - t.Cleanup(c.Wait) - - require.True(t, s.IsRunning()) - require.True(t, c.IsRunning()) - - return s, c -} - -type slowApp struct { - types.BaseApplication -} - -func (slowApp) FinalizeBlock(req types.RequestFinalizeBlock) types.ResponseFinalizeBlock { - time.Sleep(200 * time.Millisecond) - return types.ResponseFinalizeBlock{} -}