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
773857a5
Commit
773857a5
authored
Mar 18, 2018
by
Andrey Petrov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
p2p: Test for MaxPeers=0 and TrustedPeer override
parent
2a75fe33
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
54 additions
and
0 deletions
+54
-0
server_test.go
p2p/server_test.go
+54
-0
No files found.
p2p/server_test.go
View file @
773857a5
...
...
@@ -363,7 +363,61 @@ func TestServerAtCap(t *testing.T) {
if
!
c
.
is
(
trustedConn
)
{
t
.
Error
(
"Server did not set trusted flag"
)
}
}
func
TestServerPeerLimits
(
t
*
testing
.
T
)
{
srvkey
:=
newkey
()
srvid
:=
discover
.
PubkeyID
(
&
srvkey
.
PublicKey
)
var
tp
*
setupTransport
=
&
setupTransport
{
id
:
srvid
,
phs
:
&
protoHandshake
{
ID
:
srvid
}}
var
flags
connFlag
=
dynDialedConn
var
dialDest
*
discover
.
Node
=
&
discover
.
Node
{
ID
:
srvid
}
srv
:=
&
Server
{
Config
:
Config
{
PrivateKey
:
srvkey
,
MaxPeers
:
0
,
NoDial
:
true
,
Protocols
:
[]
Protocol
{
discard
},
},
newTransport
:
func
(
fd
net
.
Conn
)
transport
{
return
tp
},
log
:
log
.
New
(),
}
if
err
:=
srv
.
Start
();
err
!=
nil
{
t
.
Fatalf
(
"couldn't start server: %v"
,
err
)
}
// Check that server is full (MaxPeers=0)
conn
,
_
:=
net
.
Pipe
()
srv
.
SetupConn
(
conn
,
flags
,
dialDest
)
if
tp
.
closeErr
!=
DiscTooManyPeers
{
t
.
Errorf
(
"unexpected close error: %q"
,
tp
.
closeErr
)
}
conn
.
Close
()
srv
.
AddTrustedPeer
(
dialDest
)
// Check that server allows a trusted peer despite being full.
conn
,
_
=
net
.
Pipe
()
srv
.
SetupConn
(
conn
,
flags
,
dialDest
)
if
tp
.
closeErr
==
DiscTooManyPeers
{
t
.
Errorf
(
"failed to bypass MaxPeers with trusted node: %q"
,
tp
.
closeErr
)
}
if
tp
.
closeErr
!=
DiscSelf
{
t
.
Errorf
(
"unexpected close error: %q"
,
tp
.
closeErr
)
}
conn
.
Close
()
srv
.
RemoveTrustedPeer
(
dialDest
)
// Check that server is full again.
conn
,
_
=
net
.
Pipe
()
srv
.
SetupConn
(
conn
,
flags
,
dialDest
)
if
tp
.
closeErr
!=
DiscTooManyPeers
{
t
.
Errorf
(
"unexpected close error: %q"
,
tp
.
closeErr
)
}
conn
.
Close
()
}
func
TestServerSetupConn
(
t
*
testing
.
T
)
{
...
...
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