diff --git a/integration-cli/docker_utils.go b/integration-cli/docker_utils.go index 77f8d8c807..228c45a6ad 100644 --- a/integration-cli/docker_utils.go +++ b/integration-cli/docker_utils.go @@ -898,6 +898,7 @@ func readContainerFileWithExec(containerId, filename string) ([]byte, error) { } func setupRegistry(t *testing.T) func() { + testRequires(t, RegistryHosting) reg, err := newTestRegistryV2(t) if err != nil { t.Fatal(err) diff --git a/integration-cli/requirements.go b/integration-cli/requirements.go index fe7c51ee74..665cb380d5 100644 --- a/integration-cli/requirements.go +++ b/integration-cli/requirements.go @@ -1,6 +1,8 @@ package main import ( + "fmt" + "os/exec" "testing" ) @@ -25,6 +27,16 @@ var ( func() bool { return supportsExec }, "Test requires 'docker exec' capabilities on the tested daemon.", } + RegistryHosting = TestRequirement{ + func() bool { + // for now registry binary is built only if we're running inside + // container through `make test`. Figure that out by testing if + // registry binary is in PATH. + _, err := exec.LookPath(v2binary) + return err == nil + }, + fmt.Sprintf("Test requires an environment that can host %s in the same host", v2binary), + } ) // testRequires checks if the environment satisfies the requirements