summaryrefslogtreecommitdiff
path: root/integration-cli/docker_cli_top_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'integration-cli/docker_cli_top_test.go')
-rw-r--r--integration-cli/docker_cli_top_test.go32
1 files changed, 32 insertions, 0 deletions
diff --git a/integration-cli/docker_cli_top_test.go b/integration-cli/docker_cli_top_test.go
new file mode 100644
index 0000000000..73d590cf06
--- /dev/null
+++ b/integration-cli/docker_cli_top_test.go
@@ -0,0 +1,32 @@
+package main
+
+import (
+ "fmt"
+ "os/exec"
+ "strings"
+ "testing"
+)
+
+func TestTop(t *testing.T) {
+ runCmd := exec.Command(dockerBinary, "run", "-i", "-d", "busybox", "sleep", "20")
+ out, _, err := runCommandWithOutput(runCmd)
+ errorOut(err, t, fmt.Sprintf("failed to start the container: %v", err))
+
+ cleanedContainerID := stripTrailingCharacters(out)
+
+ topCmd := exec.Command(dockerBinary, "top", cleanedContainerID)
+ out, _, err = runCommandWithOutput(topCmd)
+ errorOut(err, t, fmt.Sprintf("failed to run top: %v %v", out, err))
+
+ killCmd := exec.Command(dockerBinary, "kill", cleanedContainerID)
+ _, err = runCommand(killCmd)
+ errorOut(err, t, fmt.Sprintf("failed to kill container: %v", err))
+
+ deleteContainer(cleanedContainerID)
+
+ if !strings.Contains(out, "sleep 20") {
+ t.Fatal("top should've listed sleep 20 in the process list")
+ }
+
+ logDone("top - sleep process should be listed")
+}