mirror of
https://github.com/fluencelabs/tendermint
synced 2025-06-26 03:01:42 +00:00
p2p: use fake net.Pipe since only >=Go1.10 implements SetDeadline
Fixes https://github.com/tendermint/tendermint/issues/851
Go1.9 and below's net.Pipe did not implement the SetDeadline
method so after commit
e2dd8ca946
this problem was exposed since now we check for errors.
To counter this problem, implement a simple composition for
net.Conn that always returns nil on SetDeadline instead of
tripping out.
Added build tags so that anyone using go1.10 when it is released
will be able to automatically use net.Pipe's net.Conns
This commit is contained in:
@ -31,7 +31,7 @@ func createMConnectionWithCallbacks(conn net.Conn, onReceive func(chID byte, msg
|
||||
func TestMConnectionSend(t *testing.T) {
|
||||
assert, require := assert.New(t), require.New(t)
|
||||
|
||||
server, client := net.Pipe()
|
||||
server, client := netPipe()
|
||||
defer server.Close()
|
||||
defer client.Close()
|
||||
|
||||
@ -58,7 +58,7 @@ func TestMConnectionSend(t *testing.T) {
|
||||
func TestMConnectionReceive(t *testing.T) {
|
||||
assert, require := assert.New(t), require.New(t)
|
||||
|
||||
server, client := net.Pipe()
|
||||
server, client := netPipe()
|
||||
defer server.Close()
|
||||
defer client.Close()
|
||||
|
||||
@ -96,7 +96,7 @@ func TestMConnectionReceive(t *testing.T) {
|
||||
func TestMConnectionStatus(t *testing.T) {
|
||||
assert, require := assert.New(t), require.New(t)
|
||||
|
||||
server, client := net.Pipe()
|
||||
server, client := netPipe()
|
||||
defer server.Close()
|
||||
defer client.Close()
|
||||
|
||||
@ -113,7 +113,7 @@ func TestMConnectionStatus(t *testing.T) {
|
||||
func TestMConnectionStopsAndReturnsError(t *testing.T) {
|
||||
assert, require := assert.New(t), require.New(t)
|
||||
|
||||
server, client := net.Pipe()
|
||||
server, client := netPipe()
|
||||
defer server.Close()
|
||||
defer client.Close()
|
||||
|
||||
@ -144,7 +144,7 @@ func TestMConnectionStopsAndReturnsError(t *testing.T) {
|
||||
}
|
||||
|
||||
func newClientAndServerConnsForReadErrors(require *require.Assertions, chOnErr chan struct{}) (*MConnection, *MConnection) {
|
||||
server, client := net.Pipe()
|
||||
server, client := netPipe()
|
||||
|
||||
onReceive := func(chID byte, msgBytes []byte) {}
|
||||
onError := func(r interface{}) {}
|
||||
@ -275,7 +275,7 @@ func TestMConnectionReadErrorUnknownMsgType(t *testing.T) {
|
||||
func TestMConnectionTrySend(t *testing.T) {
|
||||
assert, require := assert.New(t), require.New(t)
|
||||
|
||||
server, client := net.Pipe()
|
||||
server, client := netPipe()
|
||||
defer server.Close()
|
||||
defer client.Close()
|
||||
|
||||
|
Reference in New Issue
Block a user