1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00

Merge pull request #15900 from Microsoft/10662-testinfra

Test infrastructure for cross platform
This commit is contained in:
Brian Goff 2015-09-01 09:18:29 -04:00
commit 567687fd98
2 changed files with 43 additions and 0 deletions

View file

@ -26,3 +26,38 @@ func (s *DockerSuite) TestVersionEnsureSucceeds(c *check.C) {
} }
} }
} }
// ensure the Windows daemon return the correct platform string
func (s *DockerSuite) TestVersionPlatform_w(c *check.C) {
testRequires(c, DaemonIsWindows)
testVersionPlatform(c, "windows/amd64")
}
// ensure the Linux daemon return the correct platform string
func (s *DockerSuite) TestVersionPlatform_l(c *check.C) {
testRequires(c, DaemonIsLinux)
testVersionPlatform(c, "linux/amd64")
}
func testVersionPlatform(c *check.C, platform string) {
out, _ := dockerCmd(c, "version")
expected := "OS/Arch: " + platform
split := strings.Split(out, "\n")
if len(split) < 14 { // To avoid invalid indexing in loop below
c.Errorf("got %d lines from version", len(split))
}
// Verify the second 'OS/Arch' matches the platform. Experimental has
// more lines of output than 'regular'
bFound := false
for i := 14; i < len(split); i++ {
if strings.Contains(split[i], expected) {
bFound = true
break
}
}
if !bFound {
c.Errorf("Could not find server '%s' in '%s'", expected, out)
}
}

View file

@ -24,6 +24,14 @@ type testRequirement struct {
var ( var (
daemonExecDriver string daemonExecDriver string
DaemonIsWindows = testRequirement{
func() bool { return daemonPlatform == "windows" },
"Test requires a Windows daemon",
}
DaemonIsLinux = testRequirement{
func() bool { return daemonPlatform == "linux" },
"Test requires a Linux daemon",
}
SameHostDaemon = testRequirement{ SameHostDaemon = testRequirement{
func() bool { return isLocalDaemon }, func() bool { return isLocalDaemon },
"Test requires docker daemon to runs on the same machine as CLI", "Test requires docker daemon to runs on the same machine as CLI",