浏览代码

Merge pull request #20411 from aaronlehmann/strengthen-TestPullFromCentralRegistryImplicitRefParts

Improve resilience of TestPullFromCentralRegistryImplicitRefParts
David Calavera 9 年之前
父节点
当前提交
e9234d8aaf
共有 1 个文件被更改,包括 17 次插入0 次删除
  1. 17 0
      integration-cli/docker_cli_pull_test.go

+ 17 - 0
integration-cli/docker_cli_pull_test.go

@@ -86,6 +86,23 @@ func (s *DockerHubPullSuite) TestPullFromCentralRegistryImplicitRefParts(c *chec
 		"index.docker.io/library/hello-world",
 	} {
 		out := s.Cmd(c, "pull", i)
+		v1Retries := 0
+		for strings.Contains(out, "this image was pulled from a legacy registry") {
+			// Some network errors may cause fallbacks to the v1
+			// protocol, which would violate the test's assumption
+			// that it will get the same images. To make the test
+			// more robust against these network glitches, allow a
+			// few retries if we end up with a v1 pull.
+
+			if v1Retries > 2 {
+				c.Fatalf("too many v1 fallback incidents when pulling %s", i)
+			}
+
+			s.Cmd(c, "rmi", i)
+			out = s.Cmd(c, "pull", i)
+
+			v1Retries++
+		}
 		c.Assert(out, checker.Contains, "Image is up to date for hello-world:latest")
 	}