diff options
author | Fabricio Voznika <fvoznika@google.com> | 2021-04-05 11:37:56 -0700 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2021-04-05 11:39:53 -0700 |
commit | 3007ae647d2e7a8800f3550f5ffc53c5e73415ce (patch) | |
tree | 21e2c62185ef3e6e7f457c095fabacd33fcac0ad | |
parent | 8161ed4110e283c7643c2bb534f136aaf816d1cf (diff) |
Fail tests when container returns non-zero status
PiperOrigin-RevId: 366839955
-rw-r--r-- | pkg/test/dockerutil/container.go | 9 | ||||
-rw-r--r-- | test/image/image_test.go | 5 |
2 files changed, 12 insertions, 2 deletions
diff --git a/pkg/test/dockerutil/container.go b/pkg/test/dockerutil/container.go index 41fcf4978..06152a444 100644 --- a/pkg/test/dockerutil/container.go +++ b/pkg/test/dockerutil/container.go @@ -434,7 +434,14 @@ func (c *Container) Wait(ctx context.Context) error { select { case err := <-errChan: return err - case <-statusChan: + case res := <-statusChan: + if res.StatusCode != 0 { + var msg string + if res.Error != nil { + msg = res.Error.Message + } + return fmt.Errorf("container returned non-zero status: %d, msg: %q", res.StatusCode, msg) + } return nil } } diff --git a/test/image/image_test.go b/test/image/image_test.go index 968e62f63..952264173 100644 --- a/test/image/image_test.go +++ b/test/image/image_test.go @@ -183,7 +183,10 @@ func TestMysql(t *testing.T) { // Start the container. if err := server.Spawn(ctx, dockerutil.RunOpts{ Image: "basic/mysql", - Env: []string{"MYSQL_ROOT_PASSWORD=foobar123"}, + Env: []string{ + "MYSQL_ROOT_PASSWORD=foobar123", + "MYSQL_ROOT_HOST=%", // Allow anyone to connect to the server. + }, }); err != nil { t.Fatalf("docker run failed: %v", err) } |