Skip to content

Instantly share code, notes, and snippets.

@gfanton
Last active January 10, 2022 14:14
Show Gist options
  • Save gfanton/5303cdff23abb3d3245d2559c20d7f5a to your computer and use it in GitHub Desktop.
Save gfanton/5303cdff23abb3d3245d2559c20d7f5a to your computer and use it in GitHub Desktop.
4g test
package ltecirctuit
import (
"context"
"crypto/rand"
"encoding/base64"
"fmt"
"testing"
"time"
p2pping "github.com/libp2p/go-libp2p/p2p/protocol/ping"
ds "github.com/ipfs/go-datastore"
ipfs_ds "github.com/ipfs/go-datastore"
ds_sync "github.com/ipfs/go-datastore/sync"
ipfs_cfg "github.com/ipfs/go-ipfs-config"
"github.com/ipfs/go-ipfs/core"
ipfs_p2p "github.com/ipfs/go-ipfs/core/node/libp2p"
ipfs_repo "github.com/ipfs/go-ipfs/repo"
"github.com/libp2p/go-libp2p"
ci "github.com/libp2p/go-libp2p-core/crypto"
"github.com/libp2p/go-libp2p-core/host"
"github.com/libp2p/go-libp2p-core/peer"
"github.com/libp2p/go-libp2p-core/peerstore"
quict "github.com/libp2p/go-libp2p-quic-transport"
tcpt "github.com/libp2p/go-tcp-transport"
ma "github.com/multiformats/go-multiaddr"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
var tcpBertyRelays = []string{
"/ip4/51.159.21.214/tcp/4040/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p",
"/ip4/51.15.25.224/tcp/4040/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ",
}
var quicBertyRelays = []string{
"/ip4/51.159.21.214/udp/4040/quic/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p",
"/ip4/51.15.25.224/udp/4040/quic/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ",
}
// var tcpIPFSRelays = []string{
// "/ip4/147.75.80.110/tcp/4001/p2p/QmbFgm5zan8P6eWWmeyfncR5feYEMPbht5b1FW1C37aQ7y",
// "/ip4/147.75.195.153/tcp/4001/p2p/QmW9m57aiBDHAkKj9nmFSEn7ZqrcF1fZS4bipsTCHburei",
// "/ip4/147.75.70.221/tcp/4001/p2p/Qme8g49gm3q4Acp7xWBKg3nAa9fxZ1YmyDJdyGgoG6LsXh",
// }
// var quicIPFSRelays = []string{
// "/ip4/147.75.80.110/udp/4001/quic/p2p/QmbFgm5zan8P6eWWmeyfncR5feYEMPbht5b1FW1C37aQ7y",
// "/ip4/147.75.195.153/udp/4001/quic/p2p/QmW9m57aiBDHAkKj9nmFSEn7ZqrcF1fZS4bipsTCHburei",
// "/ip4/147.75.70.221/udp/4001/quic/p2p/Qme8g49gm3q4Acp7xWBKg3nAa9fxZ1YmyDJdyGgoG6LsXh",
// }
type HostGeneratorFunc func(t *testing.T, ctx context.Context) (host.Host, error)
func TestCircuitConnect(t *testing.T) {
rootCtx := context.Background()
cases := []struct {
tname string
timeout time.Duration
relays []string
genhosta HostGeneratorFunc
genhostb HostGeneratorFunc
}{
{"simple_host/tcp_relay/10s_timeout", time.Second * 10, tcpBertyRelays, genSimpleHost, genSimpleHost},
{"ipfs_client_host/tcp_relay/10s_timeout", time.Second * 10, tcpBertyRelays, genIpfsHost, genSimpleHost},
{"simple_host/quic_relay/10s_timeout", time.Second * 10, quicBertyRelays, genSimpleHost, genSimpleHost},
{"ipfs_client_host/quic_relay/10s_timeout", time.Second * 10, quicBertyRelays, genIpfsHost, genSimpleHost},
}
for _, tc := range cases {
t.Run(tc.tname, func(t *testing.T) {
for _, relay := range tc.relays {
relay := ma.StringCast(relay)
relayname := fmt.Sprintf("relay%s", relay.String())
t.Run(relayname, func(t *testing.T) {
hosta, err := tc.genhosta(t, rootCtx)
require.NoError(t, err)
require.NotNil(t, hosta)
defer hosta.Close()
hostb, err := tc.genhostb(t, rootCtx)
require.NoError(t, err)
require.NotNil(t, hostb)
defer hosta.Close()
ctx, cancel := context.WithTimeout(rootCtx, tc.timeout)
defer cancel()
testCircuitRelay(t, ctx, hosta, hostb, relay)
})
}
})
}
}
func testCircuitRelay(t *testing.T, ctx context.Context, hosta, hostb host.Host, relay ma.Multiaddr) {
pirelay, err := peer.AddrInfoFromP2pAddr(relay)
require.NoError(t, err)
// try to connect to relay first with host B
err = hostb.Connect(ctx, *pirelay)
require.NoError(t, err, "hostB(%s) unable to connect to relay(%s)", hostb.ID().ShortString(), pirelay.ID.ShortString())
// hosta try to fetch hostb through relay
err = hosta.Connect(ctx, *pirelay)
require.NoError(t, err, "hostB(%s) unable to connect to relay(%s)", hosta.ID().ShortString(), pirelay.ID.ShortString())
// create circuit addr for hostbs
circuitaddr := ma.StringCast("/p2p-circuit/p2p/" + hostb.ID().Pretty())
fulladdr := relay.Encapsulate(circuitaddr)
hosta.Peerstore().AddAddr(hostb.ID(), fulladdr, peerstore.TempAddrTTL)
s := p2pping.NewPingService(hosta)
cp := s.Ping(ctx, hostb.ID())
for i := 0; i < 5; i++ {
select {
case <-ctx.Done():
case p := <-cp:
assert.NoError(t, p.Error, "failed to ping HostB(%s)")
}
if !assert.NoError(t, ctx.Err()) {
return
}
}
}
func genSimpleHost(t *testing.T, ctx context.Context) (host.Host, error) {
return libp2p.New(ctx,
libp2p.EnableRelay(),
libp2p.Transport(quict.NewTransport),
libp2p.Transport(tcpt.NewTCPTransport),
)
}
func genIpfsHost(t *testing.T, ctx context.Context) (host.Host, error) {
dsync := ds_sync.MutexWrap(ds.NewMapDatastore())
repo, err := createDefaultMockedRepo(dsync)
if err != nil {
return nil, err
}
nodeOptions := &core.BuildCfg{
Online: true,
Routing: ipfs_p2p.DHTOption, // This option sets the node to be a full DHT node (both fetching and storing DHT Records)
// Routing: libp2p.DHTClientOption, // This option sets the node to be a client DHT node (only fetching records)
// Routing: ipfs_p2p.NilRouterOption, // This option sets the node to nil
Repo: repo,
}
node, err := core.NewNode(ctx, nodeOptions)
if err != nil {
return nil, err
}
t.Cleanup(func() {
node.Close()
})
return node.PeerHost, nil
}
func createDefaultMockedRepo(dstore ipfs_ds.Batching) (ipfs_repo.Repo, error) {
c := ipfs_cfg.Config{}
priv, pub, err := ci.GenerateKeyPairWithReader(ci.RSA, 2048, rand.Reader)
if err != nil {
return nil, err
}
pid, err := peer.IDFromPublicKey(pub)
if err != nil {
return nil, err
}
privkeyb, err := priv.Bytes()
if err != nil {
return nil, err
}
c.Bootstrap = ipfs_cfg.DefaultBootstrapAddresses
// c.Bootstrap = ipfs_cfg.DefaultBootstrapAddresses // @NOTE(gfanton): if we remove bootstrap peer the test works
c.Addresses.Swarm = []string{"/ip4/0.0.0.0/tcp/4001", "/ip4/0.0.0.0/udp/4001/quic"}
c.Identity.PeerID = pid.Pretty()
c.Identity.PrivKey = base64.StdEncoding.EncodeToString(privkeyb)
return &ipfs_repo.Mock{
D: dstore,
C: c,
}, nil
}
@moul
Copy link

moul commented Jun 14, 2021

result on Linux with very good internet connection:

 moul@fwrz  ~/go/src/gist.github.com/gfanton/5303cdff23abb3d3245d2559c20d7f5a   master  go test -v . 
=== RUN   TestCircuitConnect
=== RUN   TestCircuitConnect/simple_host/tcp_relay/10s_timeout
=== RUN   TestCircuitConnect/simple_host/tcp_relay/10s_timeout/relay/ip4/51.159.21.214/tcp/4040/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p
=== RUN   TestCircuitConnect/simple_host/tcp_relay/10s_timeout/relay/ip4/51.15.25.224/tcp/4040/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ
=== RUN   TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout
=== RUN   TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout/relay/ip4/51.159.21.214/tcp/4040/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p
=== RUN   TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout/relay/ip4/51.15.25.224/tcp/4040/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ
=== RUN   TestCircuitConnect/simple_host/quic_relay/10s_timeout
=== RUN   TestCircuitConnect/simple_host/quic_relay/10s_timeout/relay/ip4/51.159.21.214/udp/4040/quic/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p
2021/06/14 15:27:34 failed to sufficiently increase receive buffer size (was: 208 kiB, wanted: 2048 kiB, got: 416 kiB). See https://github.com/lucas-clemente/quic-go/wiki/UDP-Receive-Buffer-Size for details.
=== RUN   TestCircuitConnect/simple_host/quic_relay/10s_timeout/relay/ip4/51.15.25.224/udp/4040/quic/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ
=== RUN   TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout
=== RUN   TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout/relay/ip4/51.159.21.214/udp/4040/quic/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p
=== RUN   TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout/relay/ip4/51.15.25.224/udp/4040/quic/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ
--- PASS: TestCircuitConnect (47.26s)
    --- PASS: TestCircuitConnect/simple_host/tcp_relay/10s_timeout (2.33s)
        --- PASS: TestCircuitConnect/simple_host/tcp_relay/10s_timeout/relay/ip4/51.159.21.214/tcp/4040/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p (1.55s)
        --- PASS: TestCircuitConnect/simple_host/tcp_relay/10s_timeout/relay/ip4/51.15.25.224/tcp/4040/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ (0.78s)
    --- PASS: TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout (21.46s)
        --- PASS: TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout/relay/ip4/51.159.21.214/tcp/4040/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p (10.85s)
        --- PASS: TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout/relay/ip4/51.15.25.224/tcp/4040/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ (10.61s)
    --- PASS: TestCircuitConnect/simple_host/quic_relay/10s_timeout (1.35s)
        --- PASS: TestCircuitConnect/simple_host/quic_relay/10s_timeout/relay/ip4/51.159.21.214/udp/4040/quic/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p (0.93s)
        --- PASS: TestCircuitConnect/simple_host/quic_relay/10s_timeout/relay/ip4/51.15.25.224/udp/4040/quic/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ (0.43s)
    --- PASS: TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout (22.11s)
        --- PASS: TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout/relay/ip4/51.159.21.214/udp/4040/quic/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p (11.36s)
        --- PASS: TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout/relay/ip4/51.15.25.224/udp/4040/quic/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ (10.75s)
PASS
ok      gist.github.com/gfanton/5303cdff23abb3d3245d2559c20d7f5a        47.292s

@gfanton
Copy link
Author

gfanton commented Jun 14, 2021

os: darwin/m1
network: free/wifi

16:54:10 4gcircuitgo test -count=1 -v ./...
=== RUN   TestCircuitConnect
=== RUN   TestCircuitConnect/simple_host/tcp_relay/10s_timeout
=== RUN   TestCircuitConnect/simple_host/tcp_relay/10s_timeout/relay/ip4/51.159.21.214/tcp/4040/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p
=== RUN   TestCircuitConnect/simple_host/tcp_relay/10s_timeout/relay/ip4/51.15.25.224/tcp/4040/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ
=== RUN   TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout
=== RUN   TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout/relay/ip4/51.159.21.214/tcp/4040/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p
=== RUN   TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout/relay/ip4/51.15.25.224/tcp/4040/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ
=== RUN   TestCircuitConnect/simple_host/quic_relay/10s_timeout
=== RUN   TestCircuitConnect/simple_host/quic_relay/10s_timeout/relay/ip4/51.159.21.214/udp/4040/quic/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p
=== RUN   TestCircuitConnect/simple_host/quic_relay/10s_timeout/relay/ip4/51.15.25.224/udp/4040/quic/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ
=== RUN   TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout
=== RUN   TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout/relay/ip4/51.159.21.214/udp/4040/quic/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p
=== RUN   TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout/relay/ip4/51.15.25.224/udp/4040/quic/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ
--- PASS: TestCircuitConnect (9.48s)
    --- PASS: TestCircuitConnect/simple_host/tcp_relay/10s_timeout (1.67s)
        --- PASS: TestCircuitConnect/simple_host/tcp_relay/10s_timeout/relay/ip4/51.159.21.214/tcp/4040/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p (0.68s)
        --- PASS: TestCircuitConnect/simple_host/tcp_relay/10s_timeout/relay/ip4/51.15.25.224/tcp/4040/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ (0.99s)
    --- PASS: TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout (4.03s)
        --- PASS: TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout/relay/ip4/51.159.21.214/tcp/4040/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p (1.22s)
        --- PASS: TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout/relay/ip4/51.15.25.224/tcp/4040/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ (2.81s)
    --- PASS: TestCircuitConnect/simple_host/quic_relay/10s_timeout (1.30s)
        --- PASS: TestCircuitConnect/simple_host/quic_relay/10s_timeout/relay/ip4/51.159.21.214/udp/4040/quic/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p (0.55s)
        --- PASS: TestCircuitConnect/simple_host/quic_relay/10s_timeout/relay/ip4/51.15.25.224/udp/4040/quic/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ (0.75s)
    --- PASS: TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout (2.48s)
        --- PASS: TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout/relay/ip4/51.159.21.214/udp/4040/quic/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p (1.14s)
        --- PASS: TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout/relay/ip4/51.15.25.224/udp/4040/quic/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ (1.34s)
PASS
ok  	berty.tech/lte-circuit	9.898s

@gfanton
Copy link
Author

gfanton commented Jun 14, 2021

os: darwin/m1
network: free/4g

16:52:35 4gcircuitgo test -count=1 -v ./...
=== RUN   TestCircuitConnect
=== RUN   TestCircuitConnect/simple_host/tcp_relay/10s_timeout
=== RUN   TestCircuitConnect/simple_host/tcp_relay/10s_timeout/relay/ip4/51.159.21.214/tcp/4040/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p
=== RUN   TestCircuitConnect/simple_host/tcp_relay/10s_timeout/relay/ip4/51.15.25.224/tcp/4040/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ
=== RUN   TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout
=== RUN   TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout/relay/ip4/51.159.21.214/tcp/4040/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p
    lte_circuit_test.go:126: 
        	Error Trace:	lte_circuit_test.go:126
        	           				lte_circuit_test.go:94
        	Error:      	Received unexpected error:
        	           	context deadline exceeded
        	Test:       	TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout/relay/ip4/51.159.21.214/tcp/4040/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p
        	Messages:   	failed to ping HostB(%s)
    lte_circuit_test.go:129: 
        	Error Trace:	lte_circuit_test.go:129
        	           				lte_circuit_test.go:94
        	Error:      	Received unexpected error:
        	           	context deadline exceeded
        	Test:       	TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout/relay/ip4/51.159.21.214/tcp/4040/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p
=== RUN   TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout/relay/ip4/51.15.25.224/tcp/4040/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ
 ^[[A^[[A    lte_circuit_test.go:129: 
        	Error Trace:	lte_circuit_test.go:129
        	           				lte_circuit_test.go:94
        	Error:      	Received unexpected error:
        	           	context deadline exceeded
        	Test:       	TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout/relay/ip4/51.15.25.224/tcp/4040/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ
=== RUN   TestCircuitConnect/simple_host/quic_relay/10s_timeout
=== RUN   TestCircuitConnect/simple_host/quic_relay/10s_timeout/relay/ip4/51.159.21.214/udp/4040/quic/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p
=== RUN   TestCircuitConnect/simple_host/quic_relay/10s_timeout/relay/ip4/51.15.25.224/udp/4040/quic/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ
=== RUN   TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout
=== RUN   TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout/relay/ip4/51.159.21.214/udp/4040/quic/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p
    lte_circuit_test.go:129: 
        	Error Trace:	lte_circuit_test.go:129
        	           				lte_circuit_test.go:94
        	Error:      	Received unexpected error:
        	           	context deadline exceeded
        	Test:       	TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout/relay/ip4/51.159.21.214/udp/4040/quic/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p                               tB(<peer.ID Qm*S7khKS>) in HostA(<peer.ID Qm*YUGRUU
=== RUN   TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout/relay/ip4/51.15.25.224/udp/4040/quic/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ
    lte_circuit_test.go:129: 
        	Error Trace:	lte_circuit_test.go:129
        	           				lte_circuit_test.go:94
        	Error:      	Received unexpected error:
        	           	context deadline exceeded
        	Test:       	TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout/relay/ip4/51.15.25.224/udp/4040/quic/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ
--- FAIL: TestCircuitConnect (85.25s)
    --- PASS: TestCircuitConnect/simple_host/tcp_relay/10s_timeout (5.10s)
        --- PASS: TestCircuitConnect/simple_host/tcp_relay/10s_timeout/relay/ip4/51.159.21.214/tcp/4040/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p (2.29s)
        --- PASS: TestCircuitConnect/simple_host/tcp_relay/10s_timeout/relay/ip4/51.15.25.224/tcp/4040/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ (2.81s)
    --- FAIL: TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout (35.14s)
        --- FAIL: TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout/relay/ip4/51.159.21.214/tcp/4040/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p (14.97s)
        --- FAIL: TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout/relay/ip4/51.15.25.224/tcp/4040/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ (20.17s)
    --- PASS: TestCircuitConnect/simple_host/quic_relay/10s_timeout (4.26s)
        --- PASS: TestCircuitConnect/simple_host/quic_relay/10s_timeout/relay/ip4/51.159.21.214/udp/4040/quic/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p (1.92s)
        --- PASS: TestCircuitConnect/simple_host/quic_relay/10s_timeout/relay/ip4/51.15.25.224/udp/4040/quic/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ (2.33s)
    --- FAIL: TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout (40.74s)
        --- FAIL: TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout/relay/ip4/51.159.21.214/udp/4040/quic/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p (20.40s)
        --- FAIL: TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout/relay/ip4/51.15.25.224/udp/4040/quic/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ (20.34s)
FAIL
FAIL	berty.tech/lte-circuit	85.564s
FAIL

@glouvigny
Copy link

glouvigny commented Jun 21, 2021

Wifi DC4 - macOS 11.4 (20F71)

➜  lte-circuit go test -v -count=1 ./...

=== RUN   TestCircuitConnect
=== RUN   TestCircuitConnect/simple_host/tcp_relay/10s_timeout
=== RUN   TestCircuitConnect/simple_host/tcp_relay/10s_timeout/relay/ip4/51.159.21.214/tcp/4040/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p
=== RUN   TestCircuitConnect/simple_host/tcp_relay/10s_timeout/relay/ip4/51.15.25.224/tcp/4040/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ
=== RUN   TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout
=== RUN   TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout/relay/ip4/51.159.21.214/tcp/4040/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p
=== RUN   TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout/relay/ip4/51.15.25.224/tcp/4040/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ
=== RUN   TestCircuitConnect/simple_host/quic_relay/10s_timeout
=== RUN   TestCircuitConnect/simple_host/quic_relay/10s_timeout/relay/ip4/51.159.21.214/udp/4040/quic/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p
=== RUN   TestCircuitConnect/simple_host/quic_relay/10s_timeout/relay/ip4/51.15.25.224/udp/4040/quic/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ
=== RUN   TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout
=== RUN   TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout/relay/ip4/51.159.21.214/udp/4040/quic/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p
=== RUN   TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout/relay/ip4/51.15.25.224/udp/4040/quic/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ
--- PASS: TestCircuitConnect (7.78s)
    --- PASS: TestCircuitConnect/simple_host/tcp_relay/10s_timeout (1.38s)
        --- PASS: TestCircuitConnect/simple_host/tcp_relay/10s_timeout/relay/ip4/51.159.21.214/tcp/4040/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p (0.54s)
        --- PASS: TestCircuitConnect/simple_host/tcp_relay/10s_timeout/relay/ip4/51.15.25.224/tcp/4040/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ (0.83s)
    --- PASS: TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout (2.81s)
        --- PASS: TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout/relay/ip4/51.159.21.214/tcp/4040/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p (1.10s)
        --- PASS: TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout/relay/ip4/51.15.25.224/tcp/4040/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ (1.71s)
    --- PASS: TestCircuitConnect/simple_host/quic_relay/10s_timeout (1.22s)
        --- PASS: TestCircuitConnect/simple_host/quic_relay/10s_timeout/relay/ip4/51.159.21.214/udp/4040/quic/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p (0.40s)
        --- PASS: TestCircuitConnect/simple_host/quic_relay/10s_timeout/relay/ip4/51.15.25.224/udp/4040/quic/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ (0.82s)
    --- PASS: TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout (2.37s)
        --- PASS: TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout/relay/ip4/51.159.21.214/udp/4040/quic/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p (1.12s)
        --- PASS: TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout/relay/ip4/51.15.25.224/udp/4040/quic/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ (1.25s)
PASS
ok  	berty.tech/lte-circuit	8.353s

Tethering wifi - SFR (iPhone), macOS 11.4 (20F71)

➜  lte-circuit go test -v -count=1 ./...

=== RUN   TestCircuitConnect
=== RUN   TestCircuitConnect/simple_host/tcp_relay/10s_timeout
=== RUN   TestCircuitConnect/simple_host/tcp_relay/10s_timeout/relay/ip4/51.159.21.214/tcp/4040/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p
=== RUN   TestCircuitConnect/simple_host/tcp_relay/10s_timeout/relay/ip4/51.15.25.224/tcp/4040/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ
=== RUN   TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout
=== RUN   TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout/relay/ip4/51.159.21.214/tcp/4040/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p
=== RUN   TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout/relay/ip4/51.15.25.224/tcp/4040/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ
=== RUN   TestCircuitConnect/simple_host/quic_relay/10s_timeout
=== RUN   TestCircuitConnect/simple_host/quic_relay/10s_timeout/relay/ip4/51.159.21.214/udp/4040/quic/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p
=== RUN   TestCircuitConnect/simple_host/quic_relay/10s_timeout/relay/ip4/51.15.25.224/udp/4040/quic/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ
=== RUN   TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout
=== RUN   TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout/relay/ip4/51.159.21.214/udp/4040/quic/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p
=== RUN   TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout/relay/ip4/51.15.25.224/udp/4040/quic/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ
--- PASS: TestCircuitConnect (22.63s)
    --- PASS: TestCircuitConnect/simple_host/tcp_relay/10s_timeout (7.39s)
        --- PASS: TestCircuitConnect/simple_host/tcp_relay/10s_timeout/relay/ip4/51.159.21.214/tcp/4040/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p (4.91s)
        --- PASS: TestCircuitConnect/simple_host/tcp_relay/10s_timeout/relay/ip4/51.15.25.224/tcp/4040/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ (2.48s)
    --- PASS: TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout (6.51s)
        --- PASS: TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout/relay/ip4/51.159.21.214/tcp/4040/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p (3.16s)
        --- PASS: TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout/relay/ip4/51.15.25.224/tcp/4040/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ (3.35s)
    --- PASS: TestCircuitConnect/simple_host/quic_relay/10s_timeout (3.28s)
        --- PASS: TestCircuitConnect/simple_host/quic_relay/10s_timeout/relay/ip4/51.159.21.214/udp/4040/quic/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p (1.44s)
        --- PASS: TestCircuitConnect/simple_host/quic_relay/10s_timeout/relay/ip4/51.15.25.224/udp/4040/quic/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ (1.84s)
    --- PASS: TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout (5.45s)
        --- PASS: TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout/relay/ip4/51.159.21.214/udp/4040/quic/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p (2.75s)
        --- PASS: TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout/relay/ip4/51.15.25.224/udp/4040/quic/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ (2.70s)
PASS
ok  	berty.tech/lte-circuit	24.057s

Tethering wifi - Bouygues Telecom (Samsung - Android 11), macOS 11.4 (20F71)

➜  lte-circuit go test -v -count=1 ./...

=== RUN   TestCircuitConnect
=== RUN   TestCircuitConnect/simple_host/tcp_relay/10s_timeout
=== RUN   TestCircuitConnect/simple_host/tcp_relay/10s_timeout/relay/ip4/51.159.21.214/tcp/4040/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p
=== RUN   TestCircuitConnect/simple_host/tcp_relay/10s_timeout/relay/ip4/51.15.25.224/tcp/4040/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ
=== RUN   TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout
=== RUN   TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout/relay/ip4/51.159.21.214/tcp/4040/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p
=== RUN   TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout/relay/ip4/51.15.25.224/tcp/4040/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ
=== RUN   TestCircuitConnect/simple_host/quic_relay/10s_timeout
=== RUN   TestCircuitConnect/simple_host/quic_relay/10s_timeout/relay/ip4/51.159.21.214/udp/4040/quic/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p
=== RUN   TestCircuitConnect/simple_host/quic_relay/10s_timeout/relay/ip4/51.15.25.224/udp/4040/quic/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ
=== RUN   TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout
=== RUN   TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout/relay/ip4/51.159.21.214/udp/4040/quic/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p
=== RUN   TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout/relay/ip4/51.15.25.224/udp/4040/quic/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ
--- PASS: TestCircuitConnect (18.79s)
    --- PASS: TestCircuitConnect/simple_host/tcp_relay/10s_timeout (3.69s)
        --- PASS: TestCircuitConnect/simple_host/tcp_relay/10s_timeout/relay/ip4/51.159.21.214/tcp/4040/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p (1.68s)
        --- PASS: TestCircuitConnect/simple_host/tcp_relay/10s_timeout/relay/ip4/51.15.25.224/tcp/4040/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ (2.01s)
    --- PASS: TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout (5.99s)
        --- PASS: TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout/relay/ip4/51.159.21.214/tcp/4040/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p (3.20s)
        --- PASS: TestCircuitConnect/ipfs_client_host/tcp_relay/10s_timeout/relay/ip4/51.15.25.224/tcp/4040/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ (2.79s)
    --- PASS: TestCircuitConnect/simple_host/quic_relay/10s_timeout (3.30s)
        --- PASS: TestCircuitConnect/simple_host/quic_relay/10s_timeout/relay/ip4/51.159.21.214/udp/4040/quic/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p (1.44s)
        --- PASS: TestCircuitConnect/simple_host/quic_relay/10s_timeout/relay/ip4/51.15.25.224/udp/4040/quic/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ (1.86s)
    --- PASS: TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout (5.82s)
        --- PASS: TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout/relay/ip4/51.159.21.214/udp/4040/quic/p2p/QmdT7AmhhnbuwvCpa5PH1ySK9HJVB82jr3fo1bxMxBPW6p (2.98s)
        --- PASS: TestCircuitConnect/ipfs_client_host/quic_relay/10s_timeout/relay/ip4/51.15.25.224/udp/4040/quic/p2p/12D3KooWHhDBv6DJJ4XDWjzEXq6sVNEs6VuxsV1WyBBEhPENHzcZ (2.83s)
PASS
ok  	berty.tech/lte-circuit	19.055s

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment