| 1085 | } |
| 1086 | |
| 1087 | func (n *TestNode) Status() (*ipnstate.Status, error) { |
| 1088 | cmd := n.Tailscale("status", "--json") |
| 1089 | cmd.Stdout = nil // in case --verbose-tailscale was set |
| 1090 | cmd.Stderr = nil // in case --verbose-tailscale was set |
| 1091 | out, err := cmd.CombinedOutput() |
| 1092 | if err != nil { |
| 1093 | return nil, fmt.Errorf("running tailscale status: %v, %s", err, out) |
| 1094 | } |
| 1095 | st := new(ipnstate.Status) |
| 1096 | if err := json.Unmarshal(out, st); err != nil { |
| 1097 | return nil, fmt.Errorf("decoding tailscale status JSON: %w\njson:\n%s", err, out) |
| 1098 | } |
| 1099 | return st, nil |
| 1100 | } |
| 1101 | |
| 1102 | func (n *TestNode) MustStatus() *ipnstate.Status { |
| 1103 | tb := n.env.t |