From 77f54252606e6a094b5f722680d43f625bb0d0a8 Mon Sep 17 00:00:00 2001 From: unclejack Date: Mon, 19 May 2014 19:47:35 +0300 Subject: [PATCH] integcli: add getContainerCount utility function Docker-DCO-1.1-Signed-off-by: Cristian Staretu (github: unclejack) --- integration-cli/docker_utils.go | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/integration-cli/docker_utils.go b/integration-cli/docker_utils.go index 17a331f2dd..660d509e76 100644 --- a/integration-cli/docker_utils.go +++ b/integration-cli/docker_utils.go @@ -3,6 +3,7 @@ package main import ( "fmt" "os/exec" + "strconv" "strings" "testing" ) @@ -71,3 +72,28 @@ func findContainerIp(t *testing.T, id string) string { return strings.Trim(out, " \r\n'") } + +func getContainerCount() (int, error) { + const containers = "Containers:" + + cmd := exec.Command(dockerBinary, "info") + out, _, err := runCommandWithOutput(cmd) + if err != nil { + return 0, err + } + + lines := strings.Split(out, "\n") + for _, line := range lines { + if strings.Contains(line, containers) { + output := stripTrailingCharacters(line) + output = strings.TrimLeft(output, containers) + output = strings.Trim(output, " ") + containerCount, err := strconv.Atoi(output) + if err != nil { + return 0, err + } + return containerCount, nil + } + } + return 0, fmt.Errorf("couldn't find the Container count in the output") +}