From f5fb3c69fdd339c4ec1778a00d4cfc1aa887e310 Mon Sep 17 00:00:00 2001 From: Tonis Tiigi Date: Thu, 14 Jul 2016 16:59:44 -0700 Subject: [PATCH] Fix panic in stats test Signed-off-by: Tonis Tiigi --- integration-cli/docker_api_containers_test.go | 23 +++++++------------ 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/integration-cli/docker_api_containers_test.go b/integration-cli/docker_api_containers_test.go index f54168d953..ea1358cae0 100644 --- a/integration-cli/docker_api_containers_test.go +++ b/integration-cli/docker_api_containers_test.go @@ -215,28 +215,20 @@ func (s *DockerSuite) TestGetContainerStatsRmRunning(c *check.C) { buf := &integration.ChannelBuffer{make(chan []byte, 1)} defer buf.Close() + + _, body, err := sockRequestRaw("GET", "/containers/"+id+"/stats?stream=1", nil, "application/json") + c.Assert(err, checker.IsNil) + defer body.Close() + chErr := make(chan error, 1) go func() { - _, body, err := sockRequestRaw("GET", "/containers/"+id+"/stats?stream=1", nil, "application/json") - if err != nil { - chErr <- err - } - defer body.Close() _, err = io.Copy(buf, body) chErr <- err }() - defer func() { - select { - case err := <-chErr: - c.Assert(err, checker.IsNil) - default: - return - } - }() b := make([]byte, 32) // make sure we've got some stats - _, err := buf.ReadTimeout(b, 2*time.Second) + _, err = buf.ReadTimeout(b, 2*time.Second) c.Assert(err, checker.IsNil) // Now remove without `-f` and make sure we are still pulling stats @@ -245,7 +237,8 @@ func (s *DockerSuite) TestGetContainerStatsRmRunning(c *check.C) { _, err = buf.ReadTimeout(b, 2*time.Second) c.Assert(err, checker.IsNil) - dockerCmd(c, "kill", id) + dockerCmd(c, "rm", "-f", id) + c.Assert(<-chErr, checker.IsNil) } // regression test for gh13421