Return stderr in tsic.Execute

This commit is contained in:
Juan Font Alonso 2022-11-03 16:50:20 +01:00 committed by Juan Font
parent 7bf2eb3d71
commit 1f8bd24a0d

View file

@ -111,7 +111,7 @@ func (t *TailscaleInContainer) Version() string {
func (t *TailscaleInContainer) Execute( func (t *TailscaleInContainer) Execute(
command []string, command []string,
) (string, error) { ) (string, string, error) {
log.Println("command", command) log.Println("command", command)
log.Printf("running command for %s\n", t.hostname) log.Printf("running command for %s\n", t.hostname)
stdout, stderr, err := dockertestutil.ExecuteCommand( stdout, stderr, err := dockertestutil.ExecuteCommand(
@ -127,13 +127,13 @@ func (t *TailscaleInContainer) Execute(
} }
if strings.Contains(stderr, "NeedsLogin") { if strings.Contains(stderr, "NeedsLogin") {
return "", errTailscaleNotLoggedIn return stdout, stderr, errTailscaleNotLoggedIn
} }
return "", err return stdout, stderr, err
} }
return stdout, nil return stdout, stderr, nil
} }
func (t *TailscaleInContainer) Up( func (t *TailscaleInContainer) Up(
@ -150,7 +150,7 @@ func (t *TailscaleInContainer) Up(
t.hostname, t.hostname,
} }
if _, err := t.Execute(command); err != nil { if _, _, err := t.Execute(command); err != nil {
return fmt.Errorf("failed to join tailscale client: %w", err) return fmt.Errorf("failed to join tailscale client: %w", err)
} }
@ -169,7 +169,7 @@ func (t *TailscaleInContainer) IPs() ([]netip.Addr, error) {
"ip", "ip",
} }
result, err := t.Execute(command) result, _, err := t.Execute(command)
if err != nil { if err != nil {
return []netip.Addr{}, fmt.Errorf("failed to join tailscale client: %w", err) return []netip.Addr{}, fmt.Errorf("failed to join tailscale client: %w", err)
} }
@ -196,7 +196,7 @@ func (t *TailscaleInContainer) Status() (*ipnstate.Status, error) {
"--json", "--json",
} }
result, err := t.Execute(command) result, _, err := t.Execute(command)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to execute tailscale status command: %w", err) return nil, fmt.Errorf("failed to execute tailscale status command: %w", err)
} }
@ -264,7 +264,7 @@ func (t *TailscaleInContainer) Ping(hostnameOrIP string) error {
hostnameOrIP, hostnameOrIP,
} }
result, err := t.Execute(command) result, _, err := t.Execute(command)
if err != nil { if err != nil {
log.Printf( log.Printf(
"failed to run ping command from %s to %s, err: %s", "failed to run ping command from %s to %s, err: %s",