Merge pull request #19135 from Microsoft/jjh/securitywarning

Windows: Fix security warning regression
Upstream-commit: 807d575b5ef1785ded1038dca2cfbf2afa2d5a0c
Component: engine
This commit is contained in:
Alexander Morozov
2016-01-08 13:55:41 -08:00
2 changed files with 23 additions and 4 deletions

View File

@ -4920,8 +4920,26 @@ func (s *DockerSuite) TestBuildNotVerboseSuccess(c *check.C) {
if outRegexp.Find([]byte(stdout)) == nil {
c.Fatalf("Test %s expected stdout to match the [%v] regexp, but it is [%v]", te.Name, outRegexp, stdout)
}
if stderr != "" {
c.Fatalf("Test %s expected stderr to be empty, but it is [%#v]", te.Name, stderr)
if runtime.GOOS == "windows" {
// stderr contains a security warning on Windows if the daemon isn't Windows
lines := strings.Split(stderr, "\n")
warningCount := 0
for _, v := range lines {
warningText := "SECURITY WARNING: You are building a Docker image from Windows against a non-Windows Docker host."
if strings.Contains(v, warningText) {
warningCount++
}
if v != "" && !strings.Contains(v, warningText) {
c.Fatalf("Stderr contains unexpected output line: %q", v)
}
}
if warningCount != 1 && daemonPlatform != "windows" {
c.Fatalf("Test %s didn't get security warning running from Windows to non-Windows", te.Name)
}
} else {
if stderr != "" {
c.Fatalf("Test %s expected stderr to be empty, but it is [%#v]", te.Name, stderr)
}
}
}