From bf337420263c5b977dac474406483494bccfbb77 Mon Sep 17 00:00:00 2001 From: John Howard Date: Tue, 26 Jan 2016 15:14:58 -0800 Subject: [PATCH] Windows CI: Porting TestEvents* Signed-off-by: John Howard --- integration-cli/docker_cli_events_test.go | 42 +++++++++-------------- 1 file changed, 17 insertions(+), 25 deletions(-) diff --git a/integration-cli/docker_cli_events_test.go b/integration-cli/docker_cli_events_test.go index 4f122866f4..4c07f7e736 100644 --- a/integration-cli/docker_cli_events_test.go +++ b/integration-cli/docker_cli_events_test.go @@ -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) @@ -370,10 +366,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) @@ -385,13 +382,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. @@ -403,19 +399,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") @@ -434,10 +429,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) @@ -466,7 +460,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") @@ -477,10 +470,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) @@ -493,7 +487,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, "") @@ -501,6 +494,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() @@ -519,7 +514,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" @@ -573,8 +567,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")