integ-cli: skip tests launching registry-v2

Some pull/push tests are launching `registry-v2`
binary which is compiled and installed if the tests
are running in-container through `make test-integration-cli`.

However, registry is not supported to run on non-linux
platforms and we can't really spin up any registry-v2
containers in the remote DOCKER_TEST_HOST at this point.

Just skipping those with the new TestRequirement called
`RegistryHosting`.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
This commit is contained in:
Ahmet Alp Balkan 2015-02-24 23:19:59 -08:00
parent 309eec2378
commit e2aa8f0cd9
2 changed files with 13 additions and 0 deletions

View File

@ -901,6 +901,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)

View File

@ -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