github.com/rsampaio/docker@v0.7.2-0.20150827203920-fdc73cc3fc31/integration-cli/docker_cli_stats_test.go (about)

     1  package main
     2  
     3  import (
     4  	"os/exec"
     5  	"strings"
     6  	"time"
     7  
     8  	"github.com/go-check/check"
     9  )
    10  
    11  func (s *DockerSuite) TestCliStatsNoStream(c *check.C) {
    12  	out, _ := dockerCmd(c, "run", "-d", "busybox", "top")
    13  	id := strings.TrimSpace(out)
    14  	c.Assert(waitRun(id), check.IsNil)
    15  
    16  	statsCmd := exec.Command(dockerBinary, "stats", "--no-stream", id)
    17  	chErr := make(chan error)
    18  	go func() {
    19  		chErr <- statsCmd.Run()
    20  	}()
    21  
    22  	select {
    23  	case err := <-chErr:
    24  		if err != nil {
    25  			c.Fatalf("Error running stats: %v", err)
    26  		}
    27  	case <-time.After(3 * time.Second):
    28  		statsCmd.Process.Kill()
    29  		c.Fatalf("stats did not return immediately when not streaming")
    30  	}
    31  }