ipn/ipnlocal: add some test accessors
Updates tailscale/corp#12990 Change-Id: I82801ac4c003d2c7e1352c514adb908dbf01be87 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
parent
9538e9f970
commit
db2f37d7c6
|
@ -387,7 +387,7 @@ tailscale.com/cmd/tailscaled dependencies: (generated by github.com/tailscale/de
|
||||||
golang.org/x/crypto/salsa20/salsa from golang.org/x/crypto/nacl/box+
|
golang.org/x/crypto/salsa20/salsa from golang.org/x/crypto/nacl/box+
|
||||||
LD golang.org/x/crypto/ssh from tailscale.com/ssh/tailssh+
|
LD golang.org/x/crypto/ssh from tailscale.com/ssh/tailssh+
|
||||||
golang.org/x/exp/constraints from github.com/dblohm7/wingoes/pe+
|
golang.org/x/exp/constraints from github.com/dblohm7/wingoes/pe+
|
||||||
golang.org/x/exp/maps from tailscale.com/wgengine/magicsock
|
golang.org/x/exp/maps from tailscale.com/wgengine/magicsock+
|
||||||
golang.org/x/net/bpf from github.com/mdlayher/genetlink+
|
golang.org/x/net/bpf from github.com/mdlayher/genetlink+
|
||||||
golang.org/x/net/dns/dnsmessage from net+
|
golang.org/x/net/dns/dnsmessage from net+
|
||||||
golang.org/x/net/http/httpguts from golang.org/x/net/http2+
|
golang.org/x/net/http/httpguts from golang.org/x/net/http2+
|
||||||
|
|
|
@ -31,6 +31,7 @@ import (
|
||||||
|
|
||||||
"go4.org/mem"
|
"go4.org/mem"
|
||||||
"go4.org/netipx"
|
"go4.org/netipx"
|
||||||
|
xmaps "golang.org/x/exp/maps"
|
||||||
"gvisor.dev/gvisor/pkg/tcpip"
|
"gvisor.dev/gvisor/pkg/tcpip"
|
||||||
"tailscale.com/client/tailscale/apitype"
|
"tailscale.com/client/tailscale/apitype"
|
||||||
"tailscale.com/control/controlclient"
|
"tailscale.com/control/controlclient"
|
||||||
|
@ -1335,6 +1336,27 @@ func (b *LocalBackend) SetControlClientGetterForTesting(newControlClient func(co
|
||||||
b.ccGen = newControlClient
|
b.ccGen = newControlClient
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// NodeViewByIDForTest returns the state of the node with the given ID
|
||||||
|
// for integration tests in another repo.
|
||||||
|
func (b *LocalBackend) NodeViewByIDForTest(id tailcfg.NodeID) (_ tailcfg.NodeView, ok bool) {
|
||||||
|
b.mu.Lock()
|
||||||
|
defer b.mu.Unlock()
|
||||||
|
n, ok := b.peers[id]
|
||||||
|
return n, ok
|
||||||
|
}
|
||||||
|
|
||||||
|
// PeersForTest returns all the current peers, sorted by Node.ID,
|
||||||
|
// for integration tests in another repo.
|
||||||
|
func (b *LocalBackend) PeersForTest() []tailcfg.NodeView {
|
||||||
|
b.mu.Lock()
|
||||||
|
defer b.mu.Unlock()
|
||||||
|
ret := xmaps.Values(b.peers)
|
||||||
|
slices.SortFunc(ret, func(a, b tailcfg.NodeView) int {
|
||||||
|
return cmpx.Compare(a.ID(), b.ID())
|
||||||
|
})
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
|
||||||
func (b *LocalBackend) getNewControlClientFunc() clientGen {
|
func (b *LocalBackend) getNewControlClientFunc() clientGen {
|
||||||
b.mu.Lock()
|
b.mu.Lock()
|
||||||
defer b.mu.Unlock()
|
defer b.mu.Unlock()
|
||||||
|
|
Loading…
Reference in New Issue