Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
Geth-Modification
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张蕾
Geth-Modification
Commits
da900f94
Commit
da900f94
authored
Dec 12, 2014
by
Felix Lange
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
p2p: add test for base protocol disconnect
parent
f0f67277
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
58 additions
and
0 deletions
+58
-0
protocol_test.go
p2p/protocol_test.go
+58
-0
No files found.
p2p/protocol_test.go
0 → 100644
View file @
da900f94
package
p2p
import
(
"fmt"
"testing"
)
func
TestBaseProtocolDisconnect
(
t
*
testing
.
T
)
{
peer
:=
NewPeer
(
NewSimpleClientIdentity
(
"p1"
,
""
,
""
,
"foo"
),
nil
)
peer
.
ourID
=
NewSimpleClientIdentity
(
"p2"
,
""
,
""
,
"bar"
)
peer
.
pubkeyHook
=
func
(
*
peerAddr
)
error
{
return
nil
}
rw1
,
rw2
:=
MsgPipe
()
done
:=
make
(
chan
struct
{})
go
func
()
{
if
err
:=
expectMsg
(
rw2
,
handshakeMsg
);
err
!=
nil
{
t
.
Error
(
err
)
}
err
:=
rw2
.
EncodeMsg
(
handshakeMsg
,
baseProtocolVersion
,
""
,
[]
interface
{}{},
0
,
make
([]
byte
,
64
),
)
if
err
!=
nil
{
t
.
Error
(
err
)
}
if
err
:=
expectMsg
(
rw2
,
getPeersMsg
);
err
!=
nil
{
t
.
Error
(
err
)
}
if
err
:=
rw2
.
EncodeMsg
(
discMsg
,
DiscQuitting
);
err
!=
nil
{
t
.
Error
(
err
)
}
close
(
done
)
}()
if
err
:=
runBaseProtocol
(
peer
,
rw1
);
err
==
nil
{
t
.
Errorf
(
"base protocol returned without error"
)
}
else
if
reason
,
ok
:=
err
.
(
discRequestedError
);
!
ok
||
reason
!=
DiscQuitting
{
t
.
Errorf
(
"base protocol returned wrong error: %v"
,
err
)
}
<-
done
}
func
expectMsg
(
r
MsgReader
,
code
uint64
)
error
{
msg
,
err
:=
r
.
ReadMsg
()
if
err
!=
nil
{
return
err
}
if
err
:=
msg
.
Discard
();
err
!=
nil
{
return
err
}
if
msg
.
Code
!=
code
{
return
fmt
.
Errorf
(
"wrong message code: got %d, expected %d"
,
msg
.
Code
,
code
)
}
return
nil
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment