Browse code

Fix panic in stats test

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>

Tonis Tiigi authored on 2016/07/15 08:59:44
Showing 1 changed files
... ...
@@ -215,28 +215,20 @@ func (s *DockerSuite) TestGetContainerStatsRmRunning(c *check.C) {
215 215
 
216 216
 	buf := &integration.ChannelBuffer{make(chan []byte, 1)}
217 217
 	defer buf.Close()
218
+
219
+	_, body, err := sockRequestRaw("GET", "/containers/"+id+"/stats?stream=1", nil, "application/json")
220
+	c.Assert(err, checker.IsNil)
221
+	defer body.Close()
222
+
218 223
 	chErr := make(chan error, 1)
219 224
 	go func() {
220
-		_, body, err := sockRequestRaw("GET", "/containers/"+id+"/stats?stream=1", nil, "application/json")
221
-		if err != nil {
222
-			chErr <- err
223
-		}
224
-		defer body.Close()
225 225
 		_, err = io.Copy(buf, body)
226 226
 		chErr <- err
227 227
 	}()
228
-	defer func() {
229
-		select {
230
-		case err := <-chErr:
231
-			c.Assert(err, checker.IsNil)
232
-		default:
233
-			return
234
-		}
235
-	}()
236 228
 
237 229
 	b := make([]byte, 32)
238 230
 	// make sure we've got some stats
239
-	_, err := buf.ReadTimeout(b, 2*time.Second)
231
+	_, err = buf.ReadTimeout(b, 2*time.Second)
240 232
 	c.Assert(err, checker.IsNil)
241 233
 
242 234
 	// Now remove without `-f` and make sure we are still pulling stats
... ...
@@ -245,7 +237,8 @@ func (s *DockerSuite) TestGetContainerStatsRmRunning(c *check.C) {
245 245
 	_, err = buf.ReadTimeout(b, 2*time.Second)
246 246
 	c.Assert(err, checker.IsNil)
247 247
 
248
-	dockerCmd(c, "kill", id)
248
+	dockerCmd(c, "rm", "-f", id)
249
+	c.Assert(<-chErr, checker.IsNil)
249 250
 }
250 251
 
251 252
 // regression test for gh13421