- package p2p_test
-
- import (
- "bytes"
- "encoding/hex"
- "testing"
-
- "github.com/stretchr/testify/require"
-
- "github.com/tendermint/tendermint/internal/p2p"
- "github.com/tendermint/tendermint/libs/log"
- "github.com/tendermint/tendermint/types"
- )
-
- // Transports are mainly tested by common tests in transport_test.go, we
- // register a transport factory here to get included in those tests.
- func init() {
- var network *p2p.MemoryNetwork // shared by transports in the same test
-
- testTransports["memory"] = func(t *testing.T) p2p.Transport {
- if network == nil {
- network = p2p.NewMemoryNetwork(log.NewNopLogger(), 1)
- }
- i := byte(network.Size())
- nodeID, err := types.NewNodeID(hex.EncodeToString(bytes.Repeat([]byte{i<<4 + i}, 20)))
- require.NoError(t, err)
- transport := network.CreateTransport(nodeID)
-
- t.Cleanup(func() {
- require.NoError(t, transport.Close())
- network = nil // set up a new memory network for the next test
- })
-
- return transport
- }
- }
|