mirror of
https://github.com/netbirdio/netbird.git
synced 2026-10-12 00:19:08 +02:00
Splitting privileged tests into *_privileged_test.go left their shared helpers in the untagged files, so in the default (no-tag) build they had no callers and golangci-lint flagged them as unused. Moved the privileged-only helpers into the privileged files next to their callers (generateDummyHandler; createEngine/startSignal/startManagement/getConnectedPeers/ getPeers + kaep/kasp; (*mockDaemon).setJWTToken). Annotated the shared routing-test fixtures that must stay untagged for cross-platform compilation with //nolint:unused (systemops_bsd expected* vars, ensureIPv6DefaultRoute on bsd/windows, loopbackIfaceWindows), matching the existing linux variant.
33 lines
983 B
Go
33 lines
983 B
Go
//go:build darwin || dragonfly || freebsd || netbsd || openbsd
|
|
|
|
package systemops
|
|
|
|
import (
|
|
"bytes"
|
|
"os/exec"
|
|
"testing"
|
|
)
|
|
|
|
// ensureIPv6DefaultRoute installs an IPv6 default route via the loopback
|
|
// interface so route lookups for global IPv6 prefixes resolve in environments
|
|
// without v6 connectivity. If a default already exists it is left alone.
|
|
//
|
|
//nolint:unused // consumed by the privileged-tagged routing tests
|
|
func ensureIPv6DefaultRoute(t *testing.T) {
|
|
t.Helper()
|
|
|
|
out, err := exec.Command("route", "-6", "add", "default", "-iface", "lo0").CombinedOutput()
|
|
if err != nil {
|
|
// Existing default; nothing to install or clean up.
|
|
if bytes.Contains(out, []byte("route already in table")) {
|
|
return
|
|
}
|
|
t.Skipf("install IPv6 fallback default route: %v: %s", err, out)
|
|
}
|
|
t.Cleanup(func() {
|
|
if out, err := exec.Command("route", "-6", "delete", "default").CombinedOutput(); err != nil {
|
|
t.Logf("delete IPv6 fallback default route: %v: %s", err, out)
|
|
}
|
|
})
|
|
}
|