1
0
mirror of https://github.com/moby/moby.git synced 2025-07-29 07:21:35 +03:00

Windows: CMD not honouring arg escaping

Signed-off-by: John Howard <jhoward@microsoft.com>
This commit is contained in:
John Howard
2016-05-20 16:05:14 -07:00
parent eab3a1fa55
commit d05d0211bc
3 changed files with 28 additions and 0 deletions

View File

@ -6952,3 +6952,28 @@ func (s *DockerSuite) TestBuildShellWindowsPowershell(c *check.C) {
c.Fatalf("Line with 'John' not found in output %q", out)
}
}
// #22868. Make sure shell-form CMD is marked as escaped in the config of the image
func (s *DockerSuite) TestBuildCmdShellArgsEscaped(c *check.C) {
testRequires(c, DaemonIsWindows)
name := "testbuildcmdshellescaped"
_, err := buildImage(name, `
FROM `+minimalBaseImage()+`
CMD "tasklist"
`, true)
if err != nil {
c.Fatal(err)
}
res := inspectFieldJSON(c, name, "Config.ArgsEscaped")
if res != "true" {
c.Fatalf("CMD did not update Config.ArgsEscaped on image: %v", res)
}
dockerCmd(c, "run", "--name", "inspectme", name)
dockerCmd(c, "wait", "inspectme")
res = inspectFieldJSON(c, name, "Config.Cmd")
if res != `["cmd","/S","/C","\"tasklist\""]` {
c.Fatalf("CMD was not escaped Config.Cmd: got %v", res)
}
}