From 037866dc3c3a7329a5090b72c0e8f9076d81a9ab Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Sun, 4 Jan 2015 00:12:55 +0100 Subject: [PATCH] eth, p2p: fix EncodeMsg --- eth/protocol_test.go | 2 +- p2p/peer.go | 2 +- p2p/peer_test.go | 9 ++++++++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/eth/protocol_test.go b/eth/protocol_test.go index 81926322d8..d5c2bad467 100644 --- a/eth/protocol_test.go +++ b/eth/protocol_test.go @@ -42,7 +42,7 @@ func (self *testMsgReadWriter) WriteMsg(msg p2p.Msg) error { } func (self *testMsgReadWriter) EncodeMsg(code uint64, data ...interface{}) error { - return self.WriteMsg(p2p.NewMsg(code, data)) + return self.WriteMsg(p2p.NewMsg(code, data...)) } func (self *testMsgReadWriter) ReadMsg() (p2p.Msg, error) { diff --git a/p2p/peer.go b/p2p/peer.go index f00d7cbc4b..fa99d1d837 100644 --- a/p2p/peer.go +++ b/p2p/peer.go @@ -426,7 +426,7 @@ func (rw *proto) WriteMsg(msg Msg) error { } func (rw *proto) EncodeMsg(code uint64, data ...interface{}) error { - return rw.WriteMsg(NewMsg(code, data)) + return rw.WriteMsg(NewMsg(code, data...)) } func (rw *proto) ReadMsg() (Msg, error) { diff --git a/p2p/peer_test.go b/p2p/peer_test.go index f7759786ef..ecf7146609 100644 --- a/p2p/peer_test.go +++ b/p2p/peer_test.go @@ -130,7 +130,7 @@ func TestPeerProtoEncodeMsg(t *testing.T) { if err := rw.EncodeMsg(2); err == nil { t.Error("expected error for out-of-range msg code, got nil") } - if err := rw.EncodeMsg(1); err != nil { + if err := rw.EncodeMsg(1, "foo", "bar"); err != nil { t.Errorf("write error: %v", err) } return nil @@ -148,6 +148,13 @@ func TestPeerProtoEncodeMsg(t *testing.T) { if msg.Code != 17 { t.Errorf("incorrect message code: got %d, expected %d", msg.Code, 17) } + var data []string + if err := msg.Decode(&data); err != nil { + t.Errorf("payload decode error: %v", err) + } + if !reflect.DeepEqual(data, []string{"foo", "bar"}) { + t.Errorf("payload RLP mismatch, got %#v, want %#v", data, []string{"foo", "bar"}) + } } func TestPeerWrite(t *testing.T) {