eth, p2p: fix EncodeMsg

This commit is contained in:
Felix Lange 2015-01-04 00:12:55 +01:00 committed by zelig
parent ca719a2711
commit 50c03756ca
3 changed files with 10 additions and 3 deletions

View file

@ -42,7 +42,7 @@ func (self *testMsgReadWriter) WriteMsg(msg p2p.Msg) error {
} }
func (self *testMsgReadWriter) EncodeMsg(code uint64, data ...interface{}) 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) { func (self *testMsgReadWriter) ReadMsg() (p2p.Msg, error) {

View file

@ -426,7 +426,7 @@ func (rw *proto) WriteMsg(msg Msg) error {
} }
func (rw *proto) EncodeMsg(code uint64, data ...interface{}) 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) { func (rw *proto) ReadMsg() (Msg, error) {

View file

@ -130,7 +130,7 @@ func TestPeerProtoEncodeMsg(t *testing.T) {
if err := rw.EncodeMsg(2); err == nil { if err := rw.EncodeMsg(2); err == nil {
t.Error("expected error for out-of-range msg code, got 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) t.Errorf("write error: %v", err)
} }
return nil return nil
@ -148,6 +148,13 @@ func TestPeerProtoEncodeMsg(t *testing.T) {
if msg.Code != 17 { if msg.Code != 17 {
t.Errorf("incorrect message code: got %d, expected %d", 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) { func TestPeerWrite(t *testing.T) {