Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
p2p
go-p2p-transport-upgrader
Commits
859b62ec
Commit
859b62ec
authored
Dec 17, 2020
by
Marten Seemann
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix int to string conversion in tests, update Go version on CI
parent
0c577bb4
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
22 additions
and
20 deletions
+22
-20
.travis.yml
.travis.yml
+2
-1
listener_test.go
listener_test.go
+16
-15
upgrader_test.go
upgrader_test.go
+4
-4
No files found.
.travis.yml
View file @
859b62ec
...
@@ -4,7 +4,8 @@ os:
...
@@ -4,7 +4,8 @@ os:
language
:
go
language
:
go
go
:
go
:
-
1.13.x
-
1.14.x
-
1.15.x
env
:
env
:
global
:
global
:
...
...
listener_test.go
View file @
859b62ec
package
stream_test
package
stream_test
import
(
import
(
"fmt"
"io"
"io"
"sync"
"sync"
"testing"
"testing"
...
@@ -41,7 +42,7 @@ func TestAcceptSingleConn(t *testing.T) {
...
@@ -41,7 +42,7 @@ func TestAcceptSingleConn(t *testing.T) {
ln
:=
createListener
(
t
,
defaultUpgrader
)
ln
:=
createListener
(
t
,
defaultUpgrader
)
defer
ln
.
Close
()
defer
ln
.
Close
()
cconn
,
err
:=
dial
(
t
,
defaultUpgrader
,
ln
.
Multiaddr
(),
peer
.
ID
(
1
))
cconn
,
err
:=
dial
(
t
,
defaultUpgrader
,
ln
.
Multiaddr
(),
peer
.
ID
(
"1"
))
require
.
NoError
(
err
)
require
.
NoError
(
err
)
sconn
,
err
:=
ln
.
Accept
()
sconn
,
err
:=
ln
.
Accept
()
...
@@ -64,7 +65,7 @@ func TestAcceptMultipleConns(t *testing.T) {
...
@@ -64,7 +65,7 @@ func TestAcceptMultipleConns(t *testing.T) {
}()
}()
for
i
:=
0
;
i
<
10
;
i
++
{
for
i
:=
0
;
i
<
10
;
i
++
{
cconn
,
err
:=
dial
(
t
,
defaultUpgrader
,
ln
.
Multiaddr
(),
peer
.
ID
(
1
))
cconn
,
err
:=
dial
(
t
,
defaultUpgrader
,
ln
.
Multiaddr
(),
peer
.
ID
(
"1"
))
require
.
NoError
(
err
)
require
.
NoError
(
err
)
toClose
=
append
(
toClose
,
cconn
)
toClose
=
append
(
toClose
,
cconn
)
...
@@ -86,7 +87,7 @@ func TestConnectionsClosedIfNotAccepted(t *testing.T) {
...
@@ -86,7 +87,7 @@ func TestConnectionsClosedIfNotAccepted(t *testing.T) {
ln
:=
createListener
(
t
,
defaultUpgrader
)
ln
:=
createListener
(
t
,
defaultUpgrader
)
defer
ln
.
Close
()
defer
ln
.
Close
()
conn
,
err
:=
dial
(
t
,
defaultUpgrader
,
ln
.
Multiaddr
(),
peer
.
ID
(
2
))
conn
,
err
:=
dial
(
t
,
defaultUpgrader
,
ln
.
Multiaddr
(),
peer
.
ID
(
"2"
))
require
.
NoError
(
err
)
require
.
NoError
(
err
)
errCh
:=
make
(
chan
error
)
errCh
:=
make
(
chan
error
)
...
@@ -117,7 +118,7 @@ func TestFailedUpgradeOnListen(t *testing.T) {
...
@@ -117,7 +118,7 @@ func TestFailedUpgradeOnListen(t *testing.T) {
require
:=
require
.
New
(
t
)
require
:=
require
.
New
(
t
)
upgrader
:=
&
st
.
Upgrader
{
upgrader
:=
&
st
.
Upgrader
{
Secure
:
insecure
.
New
(
peer
.
ID
(
1
)),
Secure
:
insecure
.
New
(
peer
.
ID
(
"1"
)),
Muxer
:
&
errorMuxer
{},
Muxer
:
&
errorMuxer
{},
}
}
...
@@ -130,7 +131,7 @@ func TestFailedUpgradeOnListen(t *testing.T) {
...
@@ -130,7 +131,7 @@ func TestFailedUpgradeOnListen(t *testing.T) {
errCh
<-
err
errCh
<-
err
}()
}()
_
,
err
:=
dial
(
t
,
defaultUpgrader
,
ln
.
Multiaddr
(),
peer
.
ID
(
2
))
_
,
err
:=
dial
(
t
,
defaultUpgrader
,
ln
.
Multiaddr
(),
peer
.
ID
(
"2"
))
require
.
Error
(
err
)
require
.
Error
(
err
)
// close the listener.
// close the listener.
...
@@ -164,7 +165,7 @@ func TestListenerClose(t *testing.T) {
...
@@ -164,7 +165,7 @@ func TestListenerClose(t *testing.T) {
require
.
Contains
(
err
.
Error
(),
"use of closed network connection"
)
require
.
Contains
(
err
.
Error
(),
"use of closed network connection"
)
// doesn't accept new connections when it is closed
// doesn't accept new connections when it is closed
_
,
err
=
dial
(
t
,
defaultUpgrader
,
ln
.
Multiaddr
(),
peer
.
ID
(
1
))
_
,
err
=
dial
(
t
,
defaultUpgrader
,
ln
.
Multiaddr
(),
peer
.
ID
(
"1"
))
require
.
Error
(
err
)
require
.
Error
(
err
)
}
}
...
@@ -175,7 +176,7 @@ func TestListenerCloseClosesQueued(t *testing.T) {
...
@@ -175,7 +176,7 @@ func TestListenerCloseClosesQueued(t *testing.T) {
var
conns
[]
transport
.
CapableConn
var
conns
[]
transport
.
CapableConn
for
i
:=
0
;
i
<
10
;
i
++
{
for
i
:=
0
;
i
<
10
;
i
++
{
conn
,
err
:=
dial
(
t
,
defaultUpgrader
,
ln
.
Multiaddr
(),
peer
.
ID
(
i
))
conn
,
err
:=
dial
(
t
,
defaultUpgrader
,
ln
.
Multiaddr
(),
peer
.
ID
(
fmt
.
Sprintf
(
"%d"
,
i
)
))
require
.
NoError
(
err
)
require
.
NoError
(
err
)
conns
=
append
(
conns
,
conn
)
conns
=
append
(
conns
,
conn
)
}
}
...
@@ -213,7 +214,7 @@ func TestConcurrentAccept(t *testing.T) {
...
@@ -213,7 +214,7 @@ func TestConcurrentAccept(t *testing.T) {
num
=
3
*
st
.
AcceptQueueLength
num
=
3
*
st
.
AcceptQueueLength
blockingMuxer
=
newBlockingMuxer
()
blockingMuxer
=
newBlockingMuxer
()
upgrader
=
&
st
.
Upgrader
{
upgrader
=
&
st
.
Upgrader
{
Secure
:
insecure
.
New
(
peer
.
ID
(
1
)),
Secure
:
insecure
.
New
(
peer
.
ID
(
"1"
)),
Muxer
:
blockingMuxer
,
Muxer
:
blockingMuxer
,
}
}
)
)
...
@@ -241,7 +242,7 @@ func TestConcurrentAccept(t *testing.T) {
...
@@ -241,7 +242,7 @@ func TestConcurrentAccept(t *testing.T) {
go
func
()
{
go
func
()
{
defer
wg
.
Done
()
defer
wg
.
Done
()
conn
,
err
:=
dial
(
t
,
defaultUpgrader
,
ln
.
Multiaddr
(),
peer
.
ID
(
2
))
conn
,
err
:=
dial
(
t
,
defaultUpgrader
,
ln
.
Multiaddr
(),
peer
.
ID
(
"2"
))
if
err
!=
nil
{
if
err
!=
nil
{
errCh
<-
err
errCh
<-
err
return
return
...
@@ -270,7 +271,7 @@ func TestAcceptQueueBacklogged(t *testing.T) {
...
@@ -270,7 +271,7 @@ func TestAcceptQueueBacklogged(t *testing.T) {
// setup AcceptQueueLength connections, but don't accept any of them
// setup AcceptQueueLength connections, but don't accept any of them
errCh
:=
make
(
chan
error
,
st
.
AcceptQueueLength
+
1
)
errCh
:=
make
(
chan
error
,
st
.
AcceptQueueLength
+
1
)
doDial
:=
func
()
{
doDial
:=
func
()
{
conn
,
err
:=
dial
(
t
,
defaultUpgrader
,
ln
.
Multiaddr
(),
peer
.
ID
(
2
))
conn
,
err
:=
dial
(
t
,
defaultUpgrader
,
ln
.
Multiaddr
(),
peer
.
ID
(
"2"
))
errCh
<-
err
errCh
<-
err
if
conn
!=
nil
{
if
conn
!=
nil
{
_
=
conn
.
Close
()
_
=
conn
.
Close
()
...
@@ -308,7 +309,7 @@ func TestListenerConnectionGater(t *testing.T) {
...
@@ -308,7 +309,7 @@ func TestListenerConnectionGater(t *testing.T) {
defer
ln
.
Close
()
defer
ln
.
Close
()
// no gating.
// no gating.
conn
,
err
:=
dial
(
t
,
defaultUpgrader
,
ln
.
Multiaddr
(),
peer
.
ID
(
0
))
conn
,
err
:=
dial
(
t
,
defaultUpgrader
,
ln
.
Multiaddr
(),
peer
.
ID
(
"0"
))
require
.
NoError
(
err
)
require
.
NoError
(
err
)
require
.
False
(
conn
.
IsClosed
())
require
.
False
(
conn
.
IsClosed
())
_
=
conn
.
Close
()
_
=
conn
.
Close
()
...
@@ -316,28 +317,28 @@ func TestListenerConnectionGater(t *testing.T) {
...
@@ -316,28 +317,28 @@ func TestListenerConnectionGater(t *testing.T) {
// rejecting after handshake.
// rejecting after handshake.
testGater
.
BlockSecured
(
true
)
testGater
.
BlockSecured
(
true
)
testGater
.
BlockAccept
(
false
)
testGater
.
BlockAccept
(
false
)
conn
,
err
=
dial
(
t
,
defaultUpgrader
,
ln
.
Multiaddr
(),
peer
.
ID
(
0
))
conn
,
err
=
dial
(
t
,
defaultUpgrader
,
ln
.
Multiaddr
(),
peer
.
ID
(
"0"
))
require
.
Error
(
err
)
require
.
Error
(
err
)
require
.
Nil
(
conn
)
require
.
Nil
(
conn
)
// rejecting on accept will trigger first.
// rejecting on accept will trigger first.
testGater
.
BlockSecured
(
true
)
testGater
.
BlockSecured
(
true
)
testGater
.
BlockAccept
(
true
)
testGater
.
BlockAccept
(
true
)
conn
,
err
=
dial
(
t
,
defaultUpgrader
,
ln
.
Multiaddr
(),
peer
.
ID
(
0
))
conn
,
err
=
dial
(
t
,
defaultUpgrader
,
ln
.
Multiaddr
(),
peer
.
ID
(
"0"
))
require
.
Error
(
err
)
require
.
Error
(
err
)
require
.
Nil
(
conn
)
require
.
Nil
(
conn
)
// rejecting only on acceptance.
// rejecting only on acceptance.
testGater
.
BlockSecured
(
false
)
testGater
.
BlockSecured
(
false
)
testGater
.
BlockAccept
(
true
)
testGater
.
BlockAccept
(
true
)
conn
,
err
=
dial
(
t
,
defaultUpgrader
,
ln
.
Multiaddr
(),
peer
.
ID
(
0
))
conn
,
err
=
dial
(
t
,
defaultUpgrader
,
ln
.
Multiaddr
(),
peer
.
ID
(
"0"
))
require
.
Error
(
err
)
require
.
Error
(
err
)
require
.
Nil
(
conn
)
require
.
Nil
(
conn
)
// back to normal
// back to normal
testGater
.
BlockSecured
(
false
)
testGater
.
BlockSecured
(
false
)
testGater
.
BlockAccept
(
false
)
testGater
.
BlockAccept
(
false
)
conn
,
err
=
dial
(
t
,
defaultUpgrader
,
ln
.
Multiaddr
(),
peer
.
ID
(
0
))
conn
,
err
=
dial
(
t
,
defaultUpgrader
,
ln
.
Multiaddr
(),
peer
.
ID
(
"0"
))
require
.
NoError
(
err
)
require
.
NoError
(
err
)
require
.
False
(
conn
.
IsClosed
())
require
.
False
(
conn
.
IsClosed
())
_
=
conn
.
Close
()
_
=
conn
.
Close
()
...
...
upgrader_test.go
View file @
859b62ec
...
@@ -22,7 +22,7 @@ import (
...
@@ -22,7 +22,7 @@ import (
var
(
var
(
defaultUpgrader
=
&
st
.
Upgrader
{
defaultUpgrader
=
&
st
.
Upgrader
{
Secure
:
insecure
.
New
(
peer
.
ID
(
1
)),
Secure
:
insecure
.
New
(
peer
.
ID
(
"1"
)),
Muxer
:
&
negotiatingMuxer
{},
Muxer
:
&
negotiatingMuxer
{},
}
}
)
)
...
@@ -113,21 +113,21 @@ func TestOutboundConnectionGating(t *testing.T) {
...
@@ -113,21 +113,21 @@ func TestOutboundConnectionGating(t *testing.T) {
upgrader
:=
*
defaultUpgrader
upgrader
:=
*
defaultUpgrader
upgrader
.
ConnGater
=
testGater
upgrader
.
ConnGater
=
testGater
conn
,
err
:=
dial
(
t
,
&
upgrader
,
ln
.
Multiaddr
(),
peer
.
ID
(
2
))
conn
,
err
:=
dial
(
t
,
&
upgrader
,
ln
.
Multiaddr
(),
peer
.
ID
(
"2"
))
require
.
NoError
(
err
)
require
.
NoError
(
err
)
require
.
NotNil
(
conn
)
require
.
NotNil
(
conn
)
_
=
conn
.
Close
()
_
=
conn
.
Close
()
// blocking accepts doesn't affect the dialling side, only the listener.
// blocking accepts doesn't affect the dialling side, only the listener.
testGater
.
BlockAccept
(
true
)
testGater
.
BlockAccept
(
true
)
conn
,
err
=
dial
(
t
,
&
upgrader
,
ln
.
Multiaddr
(),
peer
.
ID
(
2
))
conn
,
err
=
dial
(
t
,
&
upgrader
,
ln
.
Multiaddr
(),
peer
.
ID
(
"2"
))
require
.
NoError
(
err
)
require
.
NoError
(
err
)
require
.
NotNil
(
conn
)
require
.
NotNil
(
conn
)
_
=
conn
.
Close
()
_
=
conn
.
Close
()
// now let's block all connections after being secured.
// now let's block all connections after being secured.
testGater
.
BlockSecured
(
true
)
testGater
.
BlockSecured
(
true
)
conn
,
err
=
dial
(
t
,
&
upgrader
,
ln
.
Multiaddr
(),
peer
.
ID
(
2
))
conn
,
err
=
dial
(
t
,
&
upgrader
,
ln
.
Multiaddr
(),
peer
.
ID
(
"2"
))
require
.
Error
(
err
)
require
.
Error
(
err
)
require
.
Contains
(
err
.
Error
(),
"gater rejected connection"
)
require
.
Contains
(
err
.
Error
(),
"gater rejected connection"
)
require
.
Nil
(
conn
)
require
.
Nil
(
conn
)
...
...
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