From 3ac90aeed5a6bdfe22af48eca1519fb186dc66cb Mon Sep 17 00:00:00 2001 From: unclejack Date: Thu, 17 Apr 2014 03:38:08 +0300 Subject: [PATCH] provide more information when TestTop tests fail Docker-DCO-1.1-Signed-off-by: Cristian Staretu (github: unclejack) --- integration-cli/docker_cli_top_test.go | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/integration-cli/docker_cli_top_test.go b/integration-cli/docker_cli_top_test.go index d75ec54217..6535473430 100644 --- a/integration-cli/docker_cli_top_test.go +++ b/integration-cli/docker_cli_top_test.go @@ -18,14 +18,22 @@ func TestTopNonPrivileged(t *testing.T) { out, _, err = runCommandWithOutput(topCmd) errorOut(err, t, fmt.Sprintf("failed to run top: %v %v", out, err)) + topCmd = exec.Command(dockerBinary, "top", cleanedContainerID) + out2, _, err2 := runCommandWithOutput(topCmd) + errorOut(err, t, fmt.Sprintf("failed to run top: %v %v", out2, err2)) + 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") + if !strings.Contains(out, "sleep 20") && !strings.Contains(out2, "sleep 20") { + t.Fatal("top should've listed `sleep 20` in the process list, but failed twice") + } else if !strings.Contains(out, "sleep 20") { + t.Fatal("top should've listed `sleep 20` in the process list, but failed the first time") + } else if !strings.Contains(out2, "sleep 20") { + t.Fatal("top should've listed `sleep 20` in the process list, but failed the second itime") } logDone("top - sleep process should be listed in non privileged mode") @@ -42,14 +50,22 @@ func TestTopPrivileged(t *testing.T) { out, _, err = runCommandWithOutput(topCmd) errorOut(err, t, fmt.Sprintf("failed to run top: %v %v", out, err)) + topCmd = exec.Command(dockerBinary, "top", cleanedContainerID) + out2, _, err2 := runCommandWithOutput(topCmd) + errorOut(err, t, fmt.Sprintf("failed to run top: %v %v", out2, err2)) + 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") + if !strings.Contains(out, "sleep 20") && !strings.Contains(out2, "sleep 20") { + t.Fatal("top should've listed `sleep 20` in the process list, but failed twice") + } else if !strings.Contains(out, "sleep 20") { + t.Fatal("top should've listed `sleep 20` in the process list, but failed the first time") + } else if !strings.Contains(out2, "sleep 20") { + t.Fatal("top should've listed `sleep 20` in the process list, but failed the second itime") } logDone("top - sleep process should be listed in privileged mode")