17657: Improve test failure messages.
authorTom Clegg <tom@curii.com>
Mon, 10 May 2021 14:17:16 +0000 (10:17 -0400)
committerTom Clegg <tom@curii.com>
Mon, 10 May 2021 14:24:53 +0000 (10:24 -0400)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@curii.com>

cmd/arvados-client/container_gateway_test.go

index 62303eab639daba64b5c3524f787eaa911a102ea..89e926f59456c123493ac63c582da96ddda6e3f6 100644 (file)
@@ -18,6 +18,7 @@ import (
        "os/exec"
        "strings"
        "sync"
        "os/exec"
        "strings"
        "sync"
+       "syscall"
        "time"
 
        "git.arvados.org/arvados.git/lib/controller/rpc"
        "time"
 
        "git.arvados.org/arvados.git/lib/controller/rpc"
@@ -126,7 +127,7 @@ func (s *ClientSuite) TestShellGateway(c *check.C) {
        cmd.Env = append(cmd.Env, "ARVADOS_API_TOKEN="+arvadostest.ActiveTokenV2)
        cmd.Stdout = &stdout
        cmd.Stderr = &stderr
        cmd.Env = append(cmd.Env, "ARVADOS_API_TOKEN="+arvadostest.ActiveTokenV2)
        cmd.Stdout = &stdout
        cmd.Stderr = &stderr
-       go cmd.Run()
+       cmd.Start()
 
        forwardedURL := fmt.Sprintf("http://localhost:%s/foo", forwardedPort)
 
 
        forwardedURL := fmt.Sprintf("http://localhost:%s/foo", forwardedPort)
 
@@ -136,7 +137,14 @@ func (s *ClientSuite) TestShellGateway(c *check.C) {
                        if !strings.Contains(err.Error(), "connect") {
                                c.Fatal(err)
                        } else if ctx.Err() != nil {
                        if !strings.Contains(err.Error(), "connect") {
                                c.Fatal(err)
                        } else if ctx.Err() != nil {
-                               c.Fatal("timed out")
+                               if cmd.Process.Signal(syscall.Signal(0)) != nil {
+                                       c.Error("OpenSSH exited")
+                               } else {
+                                       c.Errorf("timed out trying to connect: %s", err)
+                               }
+                               c.Logf("OpenSSH stdout:\n%s", stdout.String())
+                               c.Logf("OpenSSH stderr:\n%s", stderr.String())
+                               c.FailNow()
                        }
                        // Retry until OpenSSH starts listening
                        continue
                        }
                        // Retry until OpenSSH starts listening
                        continue