mirror of
https://github.com/tailscale/tailscale.git
synced 2024-11-25 11:05:45 +00:00
ipn/{ipnlocal,localapi}, wgengine/netstack: call (*LocalBackend).Shutdown when tests that create them complete
We have several places where LocalBackend instances are created for testing, but they are rarely shut down when the tests that created them exit. In this PR, we update newTestLocalBackend and similar functions to use testing.TB.Cleanup(lb.Shutdown) to ensure LocalBackend instances are properly shut down during test cleanup. Updates #12687 Signed-off-by: Nick Khyl <nickk@tailscale.com>
This commit is contained in:
parent
74d4652144
commit
462e1fc503
@ -458,6 +458,7 @@ func newTestLocalBackendWithSys(t testing.TB, sys *tsd.System) *LocalBackend {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("NewLocalBackend: %v", err)
|
t.Fatalf("NewLocalBackend: %v", err)
|
||||||
}
|
}
|
||||||
|
t.Cleanup(lb.Shutdown)
|
||||||
return lb
|
return lb
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4109,6 +4110,7 @@ func newLocalBackendWithTestControl(t *testing.T, enableLogging bool, newControl
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("NewLocalBackend: %v", err)
|
t.Fatalf("NewLocalBackend: %v", err)
|
||||||
}
|
}
|
||||||
|
t.Cleanup(b.Shutdown)
|
||||||
b.DisablePortMapperForTest()
|
b.DisablePortMapperForTest()
|
||||||
|
|
||||||
b.SetControlClientGetterForTesting(func(opts controlclient.Options) (controlclient.Client, error) {
|
b.SetControlClientGetterForTesting(func(opts controlclient.Options) (controlclient.Client, error) {
|
||||||
|
@ -309,6 +309,7 @@ func TestStateMachine(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("NewLocalBackend: %v", err)
|
t.Fatalf("NewLocalBackend: %v", err)
|
||||||
}
|
}
|
||||||
|
t.Cleanup(b.Shutdown)
|
||||||
b.DisablePortMapperForTest()
|
b.DisablePortMapperForTest()
|
||||||
|
|
||||||
var cc, previousCC *mockControl
|
var cc, previousCC *mockControl
|
||||||
@ -942,6 +943,7 @@ func TestEditPrefsHasNoKeys(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("NewLocalBackend: %v", err)
|
t.Fatalf("NewLocalBackend: %v", err)
|
||||||
}
|
}
|
||||||
|
t.Cleanup(b.Shutdown)
|
||||||
b.hostinfo = &tailcfg.Hostinfo{OS: "testos"}
|
b.hostinfo = &tailcfg.Hostinfo{OS: "testos"}
|
||||||
b.pm.SetPrefs((&ipn.Prefs{
|
b.pm.SetPrefs((&ipn.Prefs{
|
||||||
Persist: &persist.Persist{
|
Persist: &persist.Persist{
|
||||||
@ -1023,6 +1025,7 @@ func TestWGEngineStatusRace(t *testing.T) {
|
|||||||
sys.Set(eng)
|
sys.Set(eng)
|
||||||
b, err := NewLocalBackend(logf, logid.PublicID{}, sys, 0)
|
b, err := NewLocalBackend(logf, logid.PublicID{}, sys, 0)
|
||||||
c.Assert(err, qt.IsNil)
|
c.Assert(err, qt.IsNil)
|
||||||
|
t.Cleanup(b.Shutdown)
|
||||||
|
|
||||||
var cc *mockControl
|
var cc *mockControl
|
||||||
b.SetControlClientGetterForTesting(func(opts controlclient.Options) (controlclient.Client, error) {
|
b.SetControlClientGetterForTesting(func(opts controlclient.Options) (controlclient.Client, error) {
|
||||||
|
@ -349,6 +349,7 @@ func newTestLocalBackend(t testing.TB) *ipnlocal.LocalBackend {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("NewLocalBackend: %v", err)
|
t.Fatalf("NewLocalBackend: %v", err)
|
||||||
}
|
}
|
||||||
|
t.Cleanup(lb.Shutdown)
|
||||||
return lb
|
return lb
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -64,6 +64,7 @@ func TestInjectInboundLeak(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
t.Cleanup(lb.Shutdown)
|
||||||
|
|
||||||
ns, err := Create(logf, tunWrap, eng, sys.MagicSock.Get(), dialer, sys.DNSManager.Get(), sys.ProxyMapper())
|
ns, err := Create(logf, tunWrap, eng, sys.MagicSock.Get(), dialer, sys.DNSManager.Get(), sys.ProxyMapper())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -126,6 +127,7 @@ func makeNetstack(tb testing.TB, config func(*Impl)) *Impl {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
tb.Fatalf("NewLocalBackend: %v", err)
|
tb.Fatalf("NewLocalBackend: %v", err)
|
||||||
}
|
}
|
||||||
|
tb.Cleanup(lb.Shutdown)
|
||||||
|
|
||||||
ns.atomicIsLocalIPFunc.Store(func(netip.Addr) bool { return true })
|
ns.atomicIsLocalIPFunc.Store(func(netip.Addr) bool { return true })
|
||||||
if config != nil {
|
if config != nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user