Merge pull request #19839 from Microsoft/jjh/testevents

Windows CI: Porting TestEvents*
This commit is contained in:
Antonio Murdaca 2016-01-30 11:47:44 +01:00
commit 98ef10f64e
1 changed files with 17 additions and 25 deletions

View File

@ -17,7 +17,6 @@ import (
)
func (s *DockerSuite) TestEventsTimestampFormats(c *check.C) {
testRequires(c, DaemonIsLinux)
image := "busybox"
// Start stopwatch, generate an event
@ -45,7 +44,6 @@ func (s *DockerSuite) TestEventsTimestampFormats(c *check.C) {
}
func (s *DockerSuite) TestEventsUntag(c *check.C) {
testRequires(c, DaemonIsLinux)
image := "busybox"
dockerCmd(c, "tag", image, "utest:tag1")
dockerCmd(c, "tag", image, "utest:tag2")
@ -92,6 +90,10 @@ func (s *DockerSuite) TestEventsContainerFailStartDie(c *check.C) {
}
func (s *DockerSuite) TestEventsLimit(c *check.C) {
// TODO Windows CI: This test is not reliable enough on Windows TP4. Reports
// multiple errors in the analytic log sometimes.
// [NetSetupHelper::InstallVirtualMiniport()@2153] NetSetup install of ROOT\VMS_MP\0001 failed with error 0x80070002
// This should be able to be enabled on TP5.
testRequires(c, DaemonIsLinux)
var waitGroup sync.WaitGroup
errChan := make(chan error, 17)
@ -119,7 +121,6 @@ func (s *DockerSuite) TestEventsLimit(c *check.C) {
}
func (s *DockerSuite) TestEventsContainerEvents(c *check.C) {
testRequires(c, DaemonIsLinux)
containerID, _ := dockerCmd(c, "run", "--rm", "--name", "container-events-test", "busybox", "true")
containerID = strings.TrimSpace(containerID)
@ -140,7 +141,6 @@ func (s *DockerSuite) TestEventsContainerEvents(c *check.C) {
}
func (s *DockerSuite) TestEventsContainerEventsSinceUnixEpoch(c *check.C) {
testRequires(c, DaemonIsLinux)
dockerCmd(c, "run", "--rm", "--name", "since-epoch-test", "busybox", "true")
timeBeginning := time.Unix(0, 0).Format(time.RFC3339Nano)
timeBeginning = strings.Replace(timeBeginning, "Z", ".000000000Z", -1)
@ -161,7 +161,6 @@ func (s *DockerSuite) TestEventsContainerEventsSinceUnixEpoch(c *check.C) {
}
func (s *DockerSuite) TestEventsImageTag(c *check.C) {
testRequires(c, DaemonIsLinux)
time.Sleep(1 * time.Second) // because API has seconds granularity
since := daemonTime(c).Unix()
image := "testimageevents:tag"
@ -181,6 +180,7 @@ func (s *DockerSuite) TestEventsImageTag(c *check.C) {
}
func (s *DockerSuite) TestEventsImagePull(c *check.C) {
// TODO Windows: Enable this test once pull and reliable image names are available
testRequires(c, DaemonIsLinux)
since := daemonTime(c).Unix()
testRequires(c, Network)
@ -200,6 +200,8 @@ func (s *DockerSuite) TestEventsImagePull(c *check.C) {
}
func (s *DockerSuite) TestEventsImageImport(c *check.C) {
// TODO Windows CI. This should be portable once export/import are
// more reliable (@swernli)
testRequires(c, DaemonIsLinux)
out, _ := dockerCmd(c, "run", "-d", "busybox", "true")
@ -222,8 +224,6 @@ func (s *DockerSuite) TestEventsImageImport(c *check.C) {
}
func (s *DockerSuite) TestEventsFilters(c *check.C) {
testRequires(c, DaemonIsLinux)
since := daemonTime(c).Unix()
dockerCmd(c, "run", "--rm", "busybox", "true")
dockerCmd(c, "run", "--rm", "busybox", "true")
@ -240,7 +240,6 @@ func (s *DockerSuite) TestEventsFilters(c *check.C) {
}
func (s *DockerSuite) TestEventsFilterImageName(c *check.C) {
testRequires(c, DaemonIsLinux)
since := daemonTime(c).Unix()
out, _ := dockerCmd(c, "run", "--name", "container_1", "-d", "busybox:latest", "true")
@ -270,7 +269,6 @@ func (s *DockerSuite) TestEventsFilterImageName(c *check.C) {
}
func (s *DockerSuite) TestEventsFilterLabels(c *check.C) {
testRequires(c, DaemonIsLinux)
since := daemonTime(c).Unix()
label := "io.docker.testing=foo"
@ -297,7 +295,6 @@ func (s *DockerSuite) TestEventsFilterLabels(c *check.C) {
}
func (s *DockerSuite) TestEventsFilterImageLabels(c *check.C) {
testRequires(c, DaemonIsLinux)
since := daemonTime(c).Unix()
name := "labelfiltertest"
label := "io.docker.testing=image"
@ -330,7 +327,6 @@ func (s *DockerSuite) TestEventsFilterImageLabels(c *check.C) {
}
func (s *DockerSuite) TestEventsFilterContainer(c *check.C) {
testRequires(c, DaemonIsLinux)
since := fmt.Sprintf("%d", daemonTime(c).Unix())
nameID := make(map[string]string)
@ -369,10 +365,11 @@ func (s *DockerSuite) TestEventsFilterContainer(c *check.C) {
}
func (s *DockerSuite) TestEventsCommit(c *check.C) {
// Problematic on Windows as cannot commit a running container
testRequires(c, DaemonIsLinux)
since := daemonTime(c).Unix()
out, _ := dockerCmd(c, "run", "-d", "busybox", "top")
out, _ := runSleepingContainer(c, "-d")
cID := strings.TrimSpace(out)
c.Assert(waitRun(cID), checker.IsNil)
@ -384,13 +381,12 @@ func (s *DockerSuite) TestEventsCommit(c *check.C) {
}
func (s *DockerSuite) TestEventsCopy(c *check.C) {
testRequires(c, DaemonIsLinux)
since := daemonTime(c).Unix()
// Build a test image.
id, err := buildImage("cpimg", `
FROM busybox
RUN echo HI > /tmp/file`, true)
RUN echo HI > /file`, true)
c.Assert(err, checker.IsNil, check.Commentf("Couldn't create image"))
// Create an empty test file.
@ -402,19 +398,18 @@ func (s *DockerSuite) TestEventsCopy(c *check.C) {
dockerCmd(c, "create", "--name=cptest", id)
dockerCmd(c, "cp", "cptest:/tmp/file", tempFile.Name())
dockerCmd(c, "cp", "cptest:/file", tempFile.Name())
out, _ := dockerCmd(c, "events", "--since=0", "-f", "container=cptest", "--until="+strconv.Itoa(int(since)))
c.Assert(out, checker.Contains, "archive-path", check.Commentf("Missing 'archive-path' log event\n"))
dockerCmd(c, "cp", tempFile.Name(), "cptest:/tmp/filecopy")
dockerCmd(c, "cp", tempFile.Name(), "cptest:/filecopy")
out, _ = dockerCmd(c, "events", "--since=0", "-f", "container=cptest", "--until="+strconv.Itoa(int(since)))
c.Assert(out, checker.Contains, "extract-to-dir", check.Commentf("Missing 'extract-to-dir' log event"))
}
func (s *DockerSuite) TestEventsResize(c *check.C) {
testRequires(c, DaemonIsLinux)
since := daemonTime(c).Unix()
out, _ := dockerCmd(c, "run", "-d", "busybox", "top")
@ -433,10 +428,9 @@ func (s *DockerSuite) TestEventsResize(c *check.C) {
}
func (s *DockerSuite) TestEventsAttach(c *check.C) {
testRequires(c, DaemonIsLinux)
since := daemonTime(c).Unix()
out, _ := dockerCmd(c, "run", "-di", "busybox", "/bin/cat")
out, _ := dockerCmd(c, "run", "-di", "busybox", "cat")
cID := strings.TrimSpace(out)
cmd := exec.Command(dockerBinary, "attach", cID)
@ -465,7 +459,6 @@ func (s *DockerSuite) TestEventsAttach(c *check.C) {
}
func (s *DockerSuite) TestEventsRename(c *check.C) {
testRequires(c, DaemonIsLinux)
since := daemonTime(c).Unix()
dockerCmd(c, "run", "--name", "oldName", "busybox", "true")
@ -476,10 +469,11 @@ func (s *DockerSuite) TestEventsRename(c *check.C) {
}
func (s *DockerSuite) TestEventsTop(c *check.C) {
// Problematic on Windows as Windows does not support top
testRequires(c, DaemonIsLinux)
since := daemonTime(c).Unix()
out, _ := dockerCmd(c, "run", "-d", "busybox", "top")
out, _ := runSleepingContainer(c, "-d")
cID := strings.TrimSpace(out)
c.Assert(waitRun(cID), checker.IsNil)
@ -492,7 +486,6 @@ func (s *DockerSuite) TestEventsTop(c *check.C) {
// #13753
func (s *DockerSuite) TestEventsDefaultEmpty(c *check.C) {
testRequires(c, DaemonIsLinux)
dockerCmd(c, "run", "busybox")
out, _ := dockerCmd(c, "events", fmt.Sprintf("--until=%d", daemonTime(c).Unix()))
c.Assert(strings.TrimSpace(out), checker.Equals, "")
@ -500,6 +493,8 @@ func (s *DockerSuite) TestEventsDefaultEmpty(c *check.C) {
// #14316
func (s *DockerRegistrySuite) TestEventsImageFilterPush(c *check.C) {
// Problematic to port for Windows CI during TP4/TP5 timeframe while
// not supporting push
testRequires(c, DaemonIsLinux)
testRequires(c, Network)
since := daemonTime(c).Unix()
@ -518,7 +513,6 @@ func (s *DockerRegistrySuite) TestEventsImageFilterPush(c *check.C) {
}
func (s *DockerSuite) TestEventsFilterType(c *check.C) {
testRequires(c, DaemonIsLinux)
since := daemonTime(c).Unix()
name := "labelfiltertest"
label := "io.docker.testing=image"
@ -572,8 +566,6 @@ func (s *DockerSuite) TestEventsFilterType(c *check.C) {
}
func (s *DockerSuite) TestEventsFilterImageInContainerAction(c *check.C) {
testRequires(c, DaemonIsLinux)
since := daemonTime(c).Unix()
dockerCmd(c, "run", "--name", "test-container", "-d", "busybox", "true")
waitRun("test-container")