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
a1cd7e6e
Commit
a1cd7e6e
authored
Apr 26, 2019
by
Elad
Committed by
Anton Evangelatov
May 10, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
p2p/protocols, swarm/network: fix resource leak with p2p teardown
parent
c1213bd0
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
28 additions
and
19 deletions
+28
-19
protocol_test.go
p2p/protocols/protocol_test.go
+1
-0
hive_test.go
swarm/network/hive_test.go
+15
-12
protocol_test.go
swarm/network/protocol_test.go
+4
-0
common_test.go
swarm/network/stream/common_test.go
+8
-7
No files found.
p2p/protocols/protocol_test.go
View file @
a1cd7e6e
...
...
@@ -269,6 +269,7 @@ func TestProtocolHook(t *testing.T) {
panic
(
err
)
}
tester
:=
p2ptest
.
NewProtocolTester
(
prvkey
,
2
,
runFunc
)
defer
tester
.
Stop
()
err
=
tester
.
TestExchanges
(
p2ptest
.
Exchange
{
Expects
:
[]
p2ptest
.
Expect
{
{
...
...
swarm/network/hive_test.go
View file @
a1cd7e6e
...
...
@@ -117,7 +117,7 @@ func TestHiveStatePersistance(t *testing.T) {
const
peersCount
=
5
startHive
:=
func
(
t
*
testing
.
T
,
dir
string
)
(
h
*
Hive
)
{
startHive
:=
func
(
t
*
testing
.
T
,
dir
string
)
(
h
*
Hive
,
cleanupFunc
func
()
)
{
store
,
err
:=
state
.
NewDBStore
(
dir
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
...
...
@@ -137,27 +137,30 @@ func TestHiveStatePersistance(t *testing.T) {
if
err
:=
h
.
Start
(
s
.
Server
);
err
!=
nil
{
t
.
Fatal
(
err
)
}
return
h
cleanupFunc
=
func
()
{
err
:=
h
.
Stop
()
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
s
.
Stop
()
}
return
h
,
cleanupFunc
}
h1
:=
startHive
(
t
,
dir
)
h1
,
cleanup1
:=
startHive
(
t
,
dir
)
peers
:=
make
(
map
[
string
]
bool
)
for
i
:=
0
;
i
<
peersCount
;
i
++
{
raddr
:=
RandomAddr
()
h1
.
Register
(
raddr
)
peers
[
raddr
.
String
()]
=
true
}
if
err
=
h1
.
Stop
();
err
!=
nil
{
t
.
Fatal
(
err
)
}
cleanup1
()
// start the hive and check that we know of all expected peers
h2
:=
startHive
(
t
,
dir
)
defer
func
()
{
if
err
=
h2
.
Stop
();
err
!=
nil
{
t
.
Fatal
(
err
)
}
}()
h2
,
cleanup2
:=
startHive
(
t
,
dir
)
cleanup2
()
i
:=
0
h2
.
Kademlia
.
EachAddr
(
nil
,
256
,
func
(
addr
*
BzzAddr
,
po
int
)
bool
{
...
...
swarm/network/protocol_test.go
View file @
a1cd7e6e
...
...
@@ -235,6 +235,7 @@ func TestBzzHandshakeNetworkIDMismatch(t *testing.T) {
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
defer
s
.
Stop
()
node
:=
s
.
Nodes
[
0
]
err
=
s
.
testHandshake
(
...
...
@@ -258,6 +259,7 @@ func TestBzzHandshakeVersionMismatch(t *testing.T) {
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
defer
s
.
Stop
()
node
:=
s
.
Nodes
[
0
]
err
=
s
.
testHandshake
(
...
...
@@ -281,6 +283,7 @@ func TestBzzHandshakeSuccess(t *testing.T) {
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
defer
s
.
Stop
()
node
:=
s
.
Nodes
[
0
]
err
=
s
.
testHandshake
(
...
...
@@ -312,6 +315,7 @@ func TestBzzHandshakeLightNode(t *testing.T) {
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
defer
pt
.
Stop
()
node
:=
pt
.
Nodes
[
0
]
addr
:=
NewAddr
(
node
)
...
...
swarm/network/stream/common_test.go
View file @
a1cd7e6e
...
...
@@ -178,12 +178,7 @@ func newStreamerTester(registryOptions *RegistryOptions) (*p2ptest.ProtocolTeste
netStore
.
NewNetFetcherFunc
=
network
.
NewFetcherFactory
(
delivery
.
RequestFromPeers
,
true
)
.
New
intervalsStore
:=
state
.
NewInmemoryStore
()
streamer
:=
NewRegistry
(
addr
.
ID
(),
delivery
,
netStore
,
intervalsStore
,
registryOptions
,
nil
)
teardown
:=
func
()
{
streamer
.
Close
()
intervalsStore
.
Close
()
netStore
.
Close
()
removeDataDir
()
}
prvkey
,
err
:=
crypto
.
GenerateKey
()
if
err
!=
nil
{
removeDataDir
()
...
...
@@ -191,7 +186,13 @@ func newStreamerTester(registryOptions *RegistryOptions) (*p2ptest.ProtocolTeste
}
protocolTester
:=
p2ptest
.
NewProtocolTester
(
prvkey
,
1
,
streamer
.
runProtocol
)
teardown
:=
func
()
{
protocolTester
.
Stop
()
streamer
.
Close
()
intervalsStore
.
Close
()
netStore
.
Close
()
removeDataDir
()
}
err
=
waitForPeers
(
streamer
,
10
*
time
.
Second
,
1
)
if
err
!=
nil
{
teardown
()
...
...
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