зеркало из https://github.com/microsoft/docker.git
Merge pull request #19412 from hypriot/skip-tests-on-arm
Skip failing tests on ARM to get red/green feedback from Jenkins
This commit is contained in:
Коммит
416de85359
|
@ -145,7 +145,7 @@ ORIG_BUILDFLAGS=( -a -tags "autogen netgo static_build sqlite_omit_load_extensio
|
|||
# see https://github.com/golang/go/issues/9369#issuecomment-69864440 for why -installsuffix is necessary here
|
||||
BUILDFLAGS=( $BUILDFLAGS "${ORIG_BUILDFLAGS[@]}" )
|
||||
# Test timeout.
|
||||
: ${TIMEOUT:=120m}
|
||||
: ${TIMEOUT:=180m}
|
||||
TESTFLAGS+=" -test.timeout=${TIMEOUT}"
|
||||
|
||||
LDFLAGS_STATIC_DOCKER="
|
||||
|
|
|
@ -128,6 +128,7 @@ type DockerTrustSuite struct {
|
|||
}
|
||||
|
||||
func (s *DockerTrustSuite) SetUpTest(c *check.C) {
|
||||
testRequires(c, NotArm)
|
||||
s.reg = setupRegistry(c, false)
|
||||
s.not = setupNotary(c)
|
||||
}
|
||||
|
|
|
@ -76,7 +76,7 @@ func (s *DockerSuite) TestEventsOOMDisableFalse(c *check.C) {
|
|||
}
|
||||
|
||||
func (s *DockerSuite) TestEventsOOMDisableTrue(c *check.C) {
|
||||
testRequires(c, DaemonIsLinux, oomControl, memoryLimitSupport, NotGCCGO)
|
||||
testRequires(c, DaemonIsLinux, oomControl, memoryLimitSupport, NotGCCGO, NotArm)
|
||||
|
||||
errChan := make(chan error)
|
||||
go func() {
|
||||
|
|
|
@ -690,7 +690,7 @@ func (s *DockerDaemonSuite) TestDockerNetworkNoDiscoveryDefaultBridgeNetwork(c *
|
|||
}
|
||||
|
||||
func (s *DockerNetworkSuite) TestDockerNetworkAnonymousEndpoint(c *check.C) {
|
||||
testRequires(c, ExecSupport)
|
||||
testRequires(c, ExecSupport, NotArm)
|
||||
hostsFile := "/etc/hosts"
|
||||
cstmBridgeNw := "custom-bridge-nw"
|
||||
cstmBridgeNw1 := "custom-bridge-nw1"
|
||||
|
@ -968,6 +968,7 @@ func (s *DockerNetworkSuite) TestDockerNetworkDisconnectFromHost(c *check.C) {
|
|||
}
|
||||
|
||||
func (s *DockerNetworkSuite) TestDockerNetworkConnectWithPortMapping(c *check.C) {
|
||||
testRequires(c, NotArm)
|
||||
dockerCmd(c, "network", "create", "test1")
|
||||
dockerCmd(c, "run", "-d", "--name", "c1", "-p", "5000:5000", "busybox", "top")
|
||||
c.Assert(waitRun("c1"), check.IsNil)
|
||||
|
@ -1113,7 +1114,7 @@ func verifyIPAddresses(c *check.C, cName, nwname, ipv4, ipv6 string) {
|
|||
}
|
||||
|
||||
func (s *DockerSuite) TestUserDefinedNetworkConnectDisconnectLink(c *check.C) {
|
||||
testRequires(c, DaemonIsLinux, NotUserNamespace)
|
||||
testRequires(c, DaemonIsLinux, NotUserNamespace, NotArm)
|
||||
dockerCmd(c, "network", "create", "-d", "bridge", "foo1")
|
||||
dockerCmd(c, "network", "create", "-d", "bridge", "foo2")
|
||||
|
||||
|
@ -1196,7 +1197,7 @@ func (s *DockerNetworkSuite) TestDockerNetworkDisconnectDefault(c *check.C) {
|
|||
}
|
||||
|
||||
func (s *DockerSuite) TestUserDefinedNetworkConnectDisconnectAlias(c *check.C) {
|
||||
testRequires(c, DaemonIsLinux, NotUserNamespace)
|
||||
testRequires(c, DaemonIsLinux, NotUserNamespace, NotArm)
|
||||
dockerCmd(c, "network", "create", "-d", "bridge", "net1")
|
||||
dockerCmd(c, "network", "create", "-d", "bridge", "net2")
|
||||
|
||||
|
|
|
@ -292,6 +292,7 @@ func (s *DockerRegistrySuite) TestPullFallbackOn404(c *check.C) {
|
|||
}
|
||||
|
||||
func (s *DockerRegistrySuite) TestPullManifestList(c *check.C) {
|
||||
testRequires(c, NotArm)
|
||||
pushDigest, err := setupImage(c)
|
||||
c.Assert(err, checker.IsNil, check.Commentf("error setting up image"))
|
||||
|
||||
|
|
|
@ -148,6 +148,7 @@ func (s *DockerSchema1RegistrySuite) TestPushEmptyLayer(c *check.C) {
|
|||
}
|
||||
|
||||
func (s *DockerRegistrySuite) TestCrossRepositoryLayerPush(c *check.C) {
|
||||
testRequires(c, NotArm)
|
||||
sourceRepoName := fmt.Sprintf("%v/dockercli/busybox", privateRegistryURL)
|
||||
// tag the image to upload it to the private registry
|
||||
dockerCmd(c, "tag", "busybox", sourceRepoName)
|
||||
|
|
|
@ -155,7 +155,7 @@ func (s *DockerSuite) TestContainerRestartSuccess(c *check.C) {
|
|||
}
|
||||
|
||||
func (s *DockerSuite) TestUserDefinedNetworkWithRestartPolicy(c *check.C) {
|
||||
testRequires(c, DaemonIsLinux, SameHostDaemon, NotUserNamespace)
|
||||
testRequires(c, DaemonIsLinux, SameHostDaemon, NotUserNamespace, NotArm)
|
||||
dockerCmd(c, "network", "create", "-d", "bridge", "udNet")
|
||||
|
||||
dockerCmd(c, "run", "-d", "--net=udNet", "--name=first", "busybox", "top")
|
||||
|
|
|
@ -57,7 +57,7 @@ func (s *DockerSuite) TestRunLeakyFileDescriptors(c *check.C) {
|
|||
// it should be possible to lookup Google DNS
|
||||
// this will fail when Internet access is unavailable
|
||||
func (s *DockerSuite) TestRunLookupGoogleDns(c *check.C) {
|
||||
testRequires(c, Network)
|
||||
testRequires(c, Network, NotArm)
|
||||
image := DefaultImage
|
||||
if daemonPlatform == "windows" {
|
||||
// nslookup isn't present in Windows busybox. Is built-in.
|
||||
|
@ -200,7 +200,7 @@ func (s *DockerSuite) TestRunLinksContainerWithContainerId(c *check.C) {
|
|||
}
|
||||
|
||||
func (s *DockerSuite) TestUserDefinedNetworkLinks(c *check.C) {
|
||||
testRequires(c, DaemonIsLinux, NotUserNamespace)
|
||||
testRequires(c, DaemonIsLinux, NotUserNamespace, NotArm)
|
||||
dockerCmd(c, "network", "create", "-d", "bridge", "udlinkNet")
|
||||
|
||||
dockerCmd(c, "run", "-d", "--net=udlinkNet", "--name=first", "busybox", "top")
|
||||
|
@ -236,7 +236,7 @@ func (s *DockerSuite) TestUserDefinedNetworkLinks(c *check.C) {
|
|||
}
|
||||
|
||||
func (s *DockerSuite) TestUserDefinedNetworkLinksWithRestart(c *check.C) {
|
||||
testRequires(c, DaemonIsLinux, NotUserNamespace)
|
||||
testRequires(c, DaemonIsLinux, NotUserNamespace, NotArm)
|
||||
dockerCmd(c, "network", "create", "-d", "bridge", "udlinkNet")
|
||||
|
||||
dockerCmd(c, "run", "-d", "--net=udlinkNet", "--name=first", "busybox", "top")
|
||||
|
@ -274,7 +274,7 @@ func (s *DockerSuite) TestUserDefinedNetworkLinksWithRestart(c *check.C) {
|
|||
}
|
||||
|
||||
func (s *DockerSuite) TestUserDefinedNetworkAlias(c *check.C) {
|
||||
testRequires(c, DaemonIsLinux, NotUserNamespace)
|
||||
testRequires(c, DaemonIsLinux, NotUserNamespace, NotArm)
|
||||
dockerCmd(c, "network", "create", "-d", "bridge", "net1")
|
||||
|
||||
dockerCmd(c, "run", "-d", "--net=net1", "--name=first", "--net-alias=foo1", "--net-alias=foo2", "busybox", "top")
|
||||
|
@ -660,7 +660,7 @@ func (s *DockerSuite) TestRunUserByID(c *check.C) {
|
|||
func (s *DockerSuite) TestRunUserByIDBig(c *check.C) {
|
||||
// TODO Windows: This test cannot run on a Windows daemon as Windows does
|
||||
// not support the use of -u
|
||||
testRequires(c, DaemonIsLinux)
|
||||
testRequires(c, DaemonIsLinux, NotArm)
|
||||
out, _, err := dockerCmdWithError("run", "-u", "2147483648", "busybox", "id")
|
||||
if err == nil {
|
||||
c.Fatal("No error, but must be.", out)
|
||||
|
@ -1038,7 +1038,7 @@ func (s *DockerSuite) TestRunUnprivilegedCannotMount(c *check.C) {
|
|||
|
||||
func (s *DockerSuite) TestRunSysNotWritableInNonPrivilegedContainers(c *check.C) {
|
||||
// Not applicable for Windows as there is no concept of unprivileged
|
||||
testRequires(c, DaemonIsLinux)
|
||||
testRequires(c, DaemonIsLinux, NotArm)
|
||||
if _, code, err := dockerCmdWithError("run", "busybox", "touch", "/sys/kernel/profiling"); err == nil || code == 0 {
|
||||
c.Fatal("sys should not be writable in a non privileged container")
|
||||
}
|
||||
|
@ -1046,7 +1046,7 @@ func (s *DockerSuite) TestRunSysNotWritableInNonPrivilegedContainers(c *check.C)
|
|||
|
||||
func (s *DockerSuite) TestRunSysWritableInPrivilegedContainers(c *check.C) {
|
||||
// Not applicable for Windows as there is no concept of unprivileged
|
||||
testRequires(c, DaemonIsLinux, NotUserNamespace)
|
||||
testRequires(c, DaemonIsLinux, NotUserNamespace, NotArm)
|
||||
if _, code, err := dockerCmdWithError("run", "--privileged", "busybox", "touch", "/sys/kernel/profiling"); err != nil || code != 0 {
|
||||
c.Fatalf("sys should be writable in privileged container")
|
||||
}
|
||||
|
@ -1334,7 +1334,7 @@ func (s *DockerSuite) TestRunDnsOptionsBasedOnHostResolvConf(c *check.C) {
|
|||
// check if the container resolv.conf file has at least 0644 perm.
|
||||
func (s *DockerSuite) TestRunNonRootUserResolvName(c *check.C) {
|
||||
// Not applicable on Windows as Windows does not support --user
|
||||
testRequires(c, SameHostDaemon, Network, DaemonIsLinux)
|
||||
testRequires(c, SameHostDaemon, Network, DaemonIsLinux, NotArm)
|
||||
|
||||
dockerCmd(c, "run", "--name=testperm", "--user=nobody", "busybox", "nslookup", "apt.dockerproject.org")
|
||||
|
||||
|
@ -3615,7 +3615,7 @@ func (s *DockerSuite) TestTwoContainersInNetHost(c *check.C) {
|
|||
}
|
||||
|
||||
func (s *DockerSuite) TestContainersInUserDefinedNetwork(c *check.C) {
|
||||
testRequires(c, DaemonIsLinux, NotUserNamespace)
|
||||
testRequires(c, DaemonIsLinux, NotUserNamespace, NotArm)
|
||||
dockerCmd(c, "network", "create", "-d", "bridge", "testnetwork")
|
||||
dockerCmd(c, "run", "-d", "--net=testnetwork", "--name=first", "busybox", "top")
|
||||
c.Assert(waitRun("first"), check.IsNil)
|
||||
|
@ -3623,7 +3623,7 @@ func (s *DockerSuite) TestContainersInUserDefinedNetwork(c *check.C) {
|
|||
}
|
||||
|
||||
func (s *DockerSuite) TestContainersInMultipleNetworks(c *check.C) {
|
||||
testRequires(c, DaemonIsLinux, NotUserNamespace)
|
||||
testRequires(c, DaemonIsLinux, NotUserNamespace, NotArm)
|
||||
// Create 2 networks using bridge driver
|
||||
dockerCmd(c, "network", "create", "-d", "bridge", "testnetwork1")
|
||||
dockerCmd(c, "network", "create", "-d", "bridge", "testnetwork2")
|
||||
|
@ -3642,7 +3642,7 @@ func (s *DockerSuite) TestContainersInMultipleNetworks(c *check.C) {
|
|||
}
|
||||
|
||||
func (s *DockerSuite) TestContainersNetworkIsolation(c *check.C) {
|
||||
testRequires(c, DaemonIsLinux, NotUserNamespace)
|
||||
testRequires(c, DaemonIsLinux, NotUserNamespace, NotArm)
|
||||
// Create 2 networks using bridge driver
|
||||
dockerCmd(c, "network", "create", "-d", "bridge", "testnetwork1")
|
||||
dockerCmd(c, "network", "create", "-d", "bridge", "testnetwork2")
|
||||
|
@ -3687,7 +3687,7 @@ func (s *DockerSuite) TestNetworkRmWithActiveContainers(c *check.C) {
|
|||
}
|
||||
|
||||
func (s *DockerSuite) TestContainerRestartInMultipleNetworks(c *check.C) {
|
||||
testRequires(c, DaemonIsLinux, NotUserNamespace)
|
||||
testRequires(c, DaemonIsLinux, NotUserNamespace, NotArm)
|
||||
// Create 2 networks using bridge driver
|
||||
dockerCmd(c, "network", "create", "-d", "bridge", "testnetwork1")
|
||||
dockerCmd(c, "network", "create", "-d", "bridge", "testnetwork2")
|
||||
|
|
|
@ -76,7 +76,7 @@ func (s *DockerSuite) TestRunWithVolumesIsRecursive(c *check.C) {
|
|||
}
|
||||
|
||||
func (s *DockerSuite) TestRunDeviceDirectory(c *check.C) {
|
||||
testRequires(c, DaemonIsLinux, NotUserNamespace)
|
||||
testRequires(c, DaemonIsLinux, NotUserNamespace, NotArm)
|
||||
if _, err := os.Stat("/dev/snd"); err != nil {
|
||||
c.Skip("Host does not have /dev/snd")
|
||||
}
|
||||
|
@ -726,7 +726,7 @@ func (s *DockerSuite) TestRunTmpfsMounts(c *check.C) {
|
|||
|
||||
// TestRunSeccompProfileDenyUnshare checks that 'docker run --security-opt seccomp:/tmp/profile.json debian:jessie unshare' exits with operation not permitted.
|
||||
func (s *DockerSuite) TestRunSeccompProfileDenyUnshare(c *check.C) {
|
||||
testRequires(c, SameHostDaemon, seccompEnabled)
|
||||
testRequires(c, SameHostDaemon, seccompEnabled, NotArm)
|
||||
jsonData := `{
|
||||
"defaultAction": "SCMP_ACT_ALLOW",
|
||||
"syscalls": [
|
||||
|
@ -783,7 +783,7 @@ func (s *DockerSuite) TestRunSeccompProfileDenyChmod(c *check.C) {
|
|||
// TestRunSeccompProfileDenyUnshareUserns checks that 'docker run debian:jessie unshare --map-root-user --user sh -c whoami' with a specific profile to
|
||||
// deny unhare of a userns exits with operation not permitted.
|
||||
func (s *DockerSuite) TestRunSeccompProfileDenyUnshareUserns(c *check.C) {
|
||||
testRequires(c, SameHostDaemon, seccompEnabled)
|
||||
testRequires(c, SameHostDaemon, seccompEnabled, NotArm)
|
||||
// from sched.h
|
||||
jsonData := fmt.Sprintf(`{
|
||||
"defaultAction": "SCMP_ACT_ALLOW",
|
||||
|
|
|
@ -29,6 +29,10 @@ var (
|
|||
func() bool { return daemonPlatform == "linux" },
|
||||
"Test requires a Linux daemon",
|
||||
}
|
||||
NotArm = testRequirement{
|
||||
func() bool { return os.Getenv("DOCKER_ENGINE_GOARCH") == "arm" },
|
||||
"Test requires a daemon not running on ARM",
|
||||
}
|
||||
SameHostDaemon = testRequirement{
|
||||
func() bool { return isLocalDaemon },
|
||||
"Test requires docker daemon to run on the same machine as CLI",
|
||||
|
|
Загрузка…
Ссылка в новой задаче