cmd/tailscale/cli: fix macOS crash reading envknob in init (#11667)

And add a test.

Regression from a5e1f7d703

Fixes tailscale/corp#19036

Change-Id: If90984049af0a4820c96e1f77ddf2fce8cb3043f

Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
Brad Fitzpatrick 2024-04-08 10:22:31 -07:00 committed by GitHub
parent 0f3a292ebd
commit e6983baa73
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 47 additions and 40 deletions

View File

@ -131,7 +131,7 @@ func Run(args []string) (err error) {
certCmd,
netlockCmd,
licensesCmd,
exitNodeCmd,
exitNodeCmd(),
updateCmd,
whoisCmd,
},

View File

@ -16,6 +16,7 @@
qt "github.com/frankban/quicktest"
"github.com/google/go-cmp/cmp"
"tailscale.com/envknob"
"tailscale.com/health/healthmsg"
"tailscale.com/ipn"
"tailscale.com/ipn/ipnstate"
@ -33,6 +34,10 @@
// and at least one thing that's not (darwin, freebsd).
var geese = []string{"linux", "darwin", "windows", "freebsd"}
func TestPanicIfAnyEnvCheckedInInit(t *testing.T) {
envknob.PanicIfAnyEnvCheckedInInit()
}
// Test that checkForAccidentalSettingReverts's updateMaskedPrefsFromUpFlag can handle
// all flags. This will panic if a new flag creeps in that's unhandled.
//

View File

@ -20,7 +20,8 @@
"tailscale.com/tailcfg"
)
var exitNodeCmd = &ffcli.Command{
func exitNodeCmd() *ffcli.Command {
return &ffcli.Command{
Name: "exit-node",
ShortUsage: "exit-node [flags]",
ShortHelp: "Show machines on your tailnet configured as exit nodes",
@ -60,6 +61,7 @@
}
})()...),
}
}
var exitNodeArgs struct {
filter string