Parcourir la source

Merge pull request #20411 from aaronlehmann/strengthen-TestPullFromCentralRegistryImplicitRefParts

Improve resilience of TestPullFromCentralRegistryImplicitRefParts
David Calavera il y a 9 ans
Parent
commit
e9234d8aaf
1 fichiers modifiés avec 17 ajouts et 0 suppressions
  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")
 	}