Skip to content

Commit cc87eaf

Browse files
committed
remove dependency on the tcp transport
fixes multiformats#7
1 parent 2040ad5 commit cc87eaf

File tree

1 file changed

+20
-12
lines changed

1 file changed

+20
-12
lines changed

listener_test.go

+20-12
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ import (
1212
tpt "github.com/libp2p/go-libp2p-transport"
1313
st "github.com/libp2p/go-libp2p-transport-upgrader"
1414
smux "github.com/libp2p/go-stream-muxer"
15-
tcp "github.com/libp2p/go-tcp-transport"
1615
ma "github.com/multiformats/go-multiaddr"
16+
manet "github.com/multiformats/go-multiaddr-net"
1717
yamux "github.com/whyrusleeping/go-smux-yamux"
1818

1919
. "github.com/onsi/ginkgo"
@@ -85,9 +85,17 @@ var _ = Describe("Listener", func() {
8585
createListener := func(upgrader *st.Upgrader) tpt.Listener {
8686
addr, err := ma.NewMultiaddr("/ip4/0.0.0.0/tcp/0")
8787
ExpectWithOffset(0, err).ToNot(HaveOccurred())
88-
ln, err := tcp.NewTCPTransport(upgrader).Listen(addr)
88+
ln, err := manet.Listen(addr)
8989
ExpectWithOffset(0, err).ToNot(HaveOccurred())
90-
return ln
90+
return upgrader.UpgradeListener(nil, ln)
91+
}
92+
93+
dial := func(upgrader *st.Upgrader, raddr ma.Multiaddr, p peer.ID) (tpt.Conn, error) {
94+
macon, err := manet.Dial(raddr)
95+
if err != nil {
96+
return nil, err
97+
}
98+
return upgrader.UpgradeOutbound(context.Background(), nil, macon, p)
9199
}
92100

93101
BeforeEach(func() {
@@ -96,7 +104,7 @@ var _ = Describe("Listener", func() {
96104

97105
It("accepts a single connection", func() {
98106
ln := createListener(defaultUpgrader)
99-
cconn, err := tcp.NewTCPTransport(defaultUpgrader).Dial(context.Background(), ln.Multiaddr(), peer.ID(1))
107+
cconn, err := dial(defaultUpgrader, ln.Multiaddr(), peer.ID(1))
100108
Expect(err).ToNot(HaveOccurred())
101109
sconn, err := ln.Accept()
102110
Expect(err).ToNot(HaveOccurred())
@@ -107,7 +115,7 @@ var _ = Describe("Listener", func() {
107115
ln := createListener(defaultUpgrader)
108116
const num = 10
109117
for i := 0; i < 10; i++ {
110-
cconn, err := tcp.NewTCPTransport(defaultUpgrader).Dial(context.Background(), ln.Multiaddr(), peer.ID(1))
118+
cconn, err := dial(defaultUpgrader, ln.Multiaddr(), peer.ID(1))
111119
Expect(err).ToNot(HaveOccurred())
112120
sconn, err := ln.Accept()
113121
Expect(err).ToNot(HaveOccurred())
@@ -119,7 +127,7 @@ var _ = Describe("Listener", func() {
119127
const timeout = 200 * time.Millisecond
120128
tpt.AcceptTimeout = timeout
121129
ln := createListener(defaultUpgrader)
122-
conn, err := tcp.NewTCPTransport(defaultUpgrader).Dial(context.Background(), ln.Multiaddr(), peer.ID(2))
130+
conn, err := dial(defaultUpgrader, ln.Multiaddr(), peer.ID(2))
123131
Expect(err).ToNot(HaveOccurred())
124132
done := make(chan struct{})
125133
go func() {
@@ -146,7 +154,7 @@ var _ = Describe("Listener", func() {
146154
_, _ = ln.Accept()
147155
close(done)
148156
}()
149-
_, _ = tcp.NewTCPTransport(upgrader).Dial(context.Background(), ln.Multiaddr(), peer.ID(2))
157+
_, _ = dial(defaultUpgrader, ln.Multiaddr(), peer.ID(2))
150158
Consistently(done).ShouldNot(BeClosed())
151159
// make the goroutine return
152160
ln.Close()
@@ -179,7 +187,7 @@ var _ = Describe("Listener", func() {
179187
wg.Add(1)
180188
go func() {
181189
defer GinkgoRecover()
182-
_, err := tcp.NewTCPTransport(upgrader).Dial(context.Background(), ln.Multiaddr(), peer.ID(2))
190+
_, err := dial(defaultUpgrader, ln.Multiaddr(), peer.ID(2))
183191
Expect(err).ToNot(HaveOccurred())
184192
wg.Done()
185193
}()
@@ -198,7 +206,7 @@ var _ = Describe("Listener", func() {
198206
for i := 0; i < st.AcceptQueueLength; i++ {
199207
go func() {
200208
defer GinkgoRecover()
201-
_, err := tcp.NewTCPTransport(defaultUpgrader).Dial(context.Background(), ln.Multiaddr(), peer.ID(2))
209+
_, err := dial(defaultUpgrader, ln.Multiaddr(), peer.ID(2))
202210
Expect(err).ToNot(HaveOccurred())
203211
dialed <- struct{}{}
204212
}()
@@ -207,7 +215,7 @@ var _ = Describe("Listener", func() {
207215
// dial a new connection. This connection should not complete setup, since the queue is full
208216
go func() {
209217
defer GinkgoRecover()
210-
_, err := tcp.NewTCPTransport(defaultUpgrader).Dial(context.Background(), ln.Multiaddr(), peer.ID(2))
218+
_, err := dial(defaultUpgrader, ln.Multiaddr(), peer.ID(2))
211219
Expect(err).ToNot(HaveOccurred())
212220
dialed <- struct{}{}
213221
}()
@@ -238,13 +246,13 @@ var _ = Describe("Listener", func() {
238246
It("doesn't accept new connections when it is closed", func() {
239247
ln := createListener(defaultUpgrader)
240248
Expect(ln.Close()).To(Succeed())
241-
_, err := tcp.NewTCPTransport(defaultUpgrader).Dial(context.Background(), ln.Multiaddr(), peer.ID(1))
249+
_, err := dial(defaultUpgrader, ln.Multiaddr(), peer.ID(1))
242250
Expect(err).To(HaveOccurred())
243251
})
244252

245253
It("closes incoming connections that have not yet been accepted", func() {
246254
ln := createListener(defaultUpgrader)
247-
conn, err := tcp.NewTCPTransport(defaultUpgrader).Dial(context.Background(), ln.Multiaddr(), peer.ID(2))
255+
conn, err := dial(defaultUpgrader, ln.Multiaddr(), peer.ID(2))
248256
Expect(conn.IsClosed()).To(BeFalse())
249257
Expect(err).ToNot(HaveOccurred())
250258
Expect(ln.Close()).To(Succeed())

0 commit comments

Comments
 (0)