mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Require continuation char to be last char in a line
While look at #27039 I noticed that we allow for whitespace after the continuation char (\\) which is wrong. It needs to be the very last char in the line. Signed-off-by: Doug Davis <dug@us.ibm.com>
This commit is contained in:
parent
694ba71e36
commit
105bc63295
4 changed files with 12 additions and 4 deletions
|
@ -61,7 +61,7 @@ func SetEscapeToken(s string, d *Directive) error {
|
||||||
return fmt.Errorf("invalid ESCAPE '%s'. Must be ` or \\", s)
|
return fmt.Errorf("invalid ESCAPE '%s'. Must be ` or \\", s)
|
||||||
}
|
}
|
||||||
d.EscapeToken = rune(s[0])
|
d.EscapeToken = rune(s[0])
|
||||||
d.LineContinuationRegex = regexp.MustCompile(`\` + s + `[ \t]*$`)
|
d.LineContinuationRegex = regexp.MustCompile(`\` + s + `$`)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,8 +13,6 @@ world
|
||||||
RUN echo hello \
|
RUN echo hello \
|
||||||
goodbye\
|
goodbye\
|
||||||
frog
|
frog
|
||||||
RUN echo hello \
|
|
||||||
world
|
|
||||||
RUN echo hi \
|
RUN echo hi \
|
||||||
\
|
\
|
||||||
world \
|
world \
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
(run "echo hello world")
|
(run "echo hello world")
|
||||||
(run "echo hello world")
|
(run "echo hello world")
|
||||||
(run "echo hello goodbyefrog")
|
(run "echo hello goodbyefrog")
|
||||||
(run "echo hello world")
|
|
||||||
(run "echo hi world goodnight")
|
(run "echo hi world goodnight")
|
||||||
(run "echo goodbyefrog")
|
(run "echo goodbyefrog")
|
||||||
(run "echo goodbyefrog")
|
(run "echo goodbyefrog")
|
||||||
|
|
|
@ -6901,6 +6901,17 @@ func (s *DockerSuite) TestBuildCmdShellArgsEscaped(c *check.C) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *DockerSuite) TestContinueCharSpace(c *check.C) {
|
||||||
|
// Test to make sure that we don't treat a \ as a continuation
|
||||||
|
// character IF there are spaces (or tabs) after it on the same line
|
||||||
|
name := "testbuildcont"
|
||||||
|
_, err := buildImage(name, "FROM busybox\nRUN echo hi \\\t\nbye", true)
|
||||||
|
c.Assert(err, check.NotNil, check.Commentf("Build 1 should fail - didn't"))
|
||||||
|
|
||||||
|
_, err = buildImage(name, "FROM busybox\nRUN echo hi \\ \nbye", true)
|
||||||
|
c.Assert(err, check.NotNil, check.Commentf("Build 2 should fail - didn't"))
|
||||||
|
}
|
||||||
|
|
||||||
// Test case for #24912.
|
// Test case for #24912.
|
||||||
func (s *DockerSuite) TestBuildStepsWithProgress(c *check.C) {
|
func (s *DockerSuite) TestBuildStepsWithProgress(c *check.C) {
|
||||||
name := "testbuildstepswithprogress"
|
name := "testbuildstepswithprogress"
|
||||||
|
|
Loading…
Reference in a new issue