Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
go-libp2p
Commits
57e6cb40
Commit
57e6cb40
authored
Jul 20, 2015
by
Jeromy
Browse files
fix race condition in notifications test
License: MIT Signed-off-by:
Jeromy
<
jeromyj@gmail.com
>
parent
1879bb06
Changes
1
Show whitespace changes
Inline
Side-by-side
net/mock/mock_notif_test.go
View file @
57e6cb40
...
@@ -7,6 +7,7 @@ import (
...
@@ -7,6 +7,7 @@ import (
ma
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr"
ma
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr"
context
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
context
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
inet
"github.com/ipfs/go-ipfs/p2p/net"
inet
"github.com/ipfs/go-ipfs/p2p/net"
peer
"github.com/ipfs/go-ipfs/p2p/peer"
)
)
func
TestNotifications
(
t
*
testing
.
T
)
{
func
TestNotifications
(
t
*
testing
.
T
)
{
...
@@ -42,31 +43,29 @@ func TestNotifications(t *testing.T) {
...
@@ -42,31 +43,29 @@ func TestNotifications(t *testing.T) {
// test everyone got the correct connection opened calls
// test everyone got the correct connection opened calls
for
i
,
s
:=
range
nets
{
for
i
,
s
:=
range
nets
{
n
:=
notifiees
[
i
]
n
:=
notifiees
[
i
]
for
_
,
s2
:=
range
nets
{
notifs
:=
make
(
map
[
peer
.
ID
]
inet
.
Conn
)
var
actual
[]
inet
.
Conn
for
j
:=
0
;
j
<
len
(
nets
)
-
1
;
j
++
{
for
len
(
s
.
ConnsToPeer
(
s2
.
LocalPeer
()))
!=
len
(
actual
)
{
select
{
select
{
case
c
:=
<-
n
.
connected
:
case
c
:=
<-
n
.
connected
:
actual
=
append
(
actual
,
c
)
_
,
ok
:=
notifs
[
c
.
RemotePeer
()]
if
ok
{
t
.
Fatal
(
"shouldnt have received more than one connection per peer"
)
}
notifs
[
c
.
RemotePeer
()]
=
c
case
<-
time
.
After
(
timeout
)
:
case
<-
time
.
After
(
timeout
)
:
t
.
Fatal
(
"timeout"
)
t
.
Fatal
(
"timeout"
)
}
}
}
}
expect
:=
s
.
ConnsToPeer
(
s2
.
LocalPeer
())
for
p
,
con
:=
range
notifs
{
for
_
,
c1
:=
range
actual
{
expect
:=
s
.
ConnsToPeer
(
p
)
found
:=
false
if
len
(
expect
)
!=
1
{
for
_
,
c2
:=
range
expect
{
t
.
Fatal
(
"got more than one connection, not supposed to happen"
)
if
c1
==
c2
{
found
=
true
break
}
}
if
!
found
{
t
.
Error
(
"connection not found"
,
c1
,
len
(
expect
),
len
(
actual
))
}
}
}
if
expect
[
0
]
!=
con
{
t
.
Fatal
(
"got different connection than we expected"
)
}
}
}
}
}
...
...
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