1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00

Merge pull request #5559 from bmurphy1976/bmurphy1976-history-bug

Test and fix history command ordering
This commit is contained in:
Michael Crosby 2014-06-18 14:34:00 -07:00
commit d803523cdc
3 changed files with 71 additions and 1 deletions

View file

@ -0,0 +1,28 @@
FROM busybox
RUN echo "A"
RUN echo "B"
RUN echo "C"
RUN echo "D"
RUN echo "E"
RUN echo "F"
RUN echo "G"
RUN echo "H"
RUN echo "I"
RUN echo "J"
RUN echo "K"
RUN echo "L"
RUN echo "M"
RUN echo "N"
RUN echo "O"
RUN echo "P"
RUN echo "Q"
RUN echo "R"
RUN echo "S"
RUN echo "T"
RUN echo "U"
RUN echo "V"
RUN echo "W"
RUN echo "X"
RUN echo "Y"
RUN echo "Z"

View file

@ -0,0 +1,43 @@
package main
import (
"fmt"
"os/exec"
"path/filepath"
"strings"
"testing"
)
// This is a heisen-test. Because the created timestamp of images and the behavior of
// sort is not predictable it doesn't always fail.
func TestBuildHistory(t *testing.T) {
buildDirectory := filepath.Join(workingDirectory, "build_tests", "TestBuildHistory")
buildCmd := exec.Command(dockerBinary, "build", "-t", "testbuildhistory", ".")
buildCmd.Dir = buildDirectory
out, exitCode, err := runCommandWithOutput(buildCmd)
errorOut(err, t, fmt.Sprintf("build failed to complete: %v %v", out, err))
if err != nil || exitCode != 0 {
t.Fatal("failed to build the image")
}
out, exitCode, err = runCommandWithOutput(exec.Command(dockerBinary, "history", "testbuildhistory"))
errorOut(err, t, fmt.Sprintf("image history failed: %v %v", out, err))
if err != nil || exitCode != 0 {
t.Fatal("failed to get image history")
}
actual_values := strings.Split(out, "\n")[1:27]
expected_values := [26]string{"Z", "Y", "X", "W", "V", "U", "T", "S", "R", "Q", "P", "O", "N", "M", "L", "K", "J", "I", "H", "G", "F", "E", "D", "C", "B", "A"}
for i := 0; i < 26; i++ {
echo_value := fmt.Sprintf("echo \"%s\"", expected_values[i])
actual_value := actual_values[i]
if !strings.Contains(actual_value, echo_value) {
t.Fatalf("Expected layer \"%s\", but was: %s", expected_values[i], actual_value)
}
}
deleteImages("testbuildhistory")
}

View file

@ -818,7 +818,6 @@ func (srv *Server) ImageHistory(job *engine.Job) engine.Status {
outs.Add(out) outs.Add(out)
return nil return nil
}) })
outs.ReverseSort()
if _, err := outs.WriteListTo(job.Stdout); err != nil { if _, err := outs.WriteListTo(job.Stdout); err != nil {
return job.Error(err) return job.Error(err)
} }