Files
go-libp2p/leaky_tests/leaky_test.go
T
Marten Seemann 9d149fa3cb use Fx to start and stop the host, swarm, autorelay and quicreuse (#2118)
* config: refactor AutoNAT construction into separate method

* config: use a lifecycle hook to start listening on swarm addresses

* use Fx to construct the host

* add a test for constructing a routed host

* use Fx hooks to start the host

* config: use Fx lifecycle hooks to start AutoRelay and for PeerRouting

* basichost: don't close the swarm

The swarm is not constructed by the basic host, thus is shouldn't be
closed by it.

* config: use Fx hook to close the quicreuse connection manager

* test for goroutine leaks when starting/stopping fx

To do this, I've had to move a few leaky tests into a separate package.
I've filed a bug for the AutoNAT issue (#2743) but the "error on
startup" issue is going to require some pretty invasive changes (we need
to construct _then_ start).

* go fmt

* Ignore one more top function

* Typo

* Ignore any not top

---------

Co-authored-by: Sukun <sukunrt@gmail.com>
Co-authored-by: Steven Allen <steven@stebalien.com>
Co-authored-by: Marco Munizaga <git@marcopolo.io>
2024-03-21 10:18:34 -07:00

27 lines
524 B
Go

package leaky_test
import (
"strings"
"testing"
"github.com/libp2p/go-libp2p"
"github.com/stretchr/testify/require"
)
func TestBadTransportConstructor(t *testing.T) {
h, err := libp2p.New(libp2p.Transport(func() {}))
if err == nil {
h.Close()
t.Fatal("expected an error")
}
if !strings.Contains(err.Error(), "_test.go") {
t.Error("expected error to contain debugging info")
}
}
func TestAutoNATService(t *testing.T) {
h, err := libp2p.New(libp2p.EnableNATService())
require.NoError(t, err)
h.Close()
}