Add a ENV tests with special chars in the values
Tests a little bit of escaping quotes too See https://github.com/docker/docker/pull/10431#issuecomment-75163177 Signed-off-by: Doug Davis <dug@us.ibm.com>
This commit is contained in:
parent
e82cf741e3
commit
ed3bc3b986
1 changed files with 23 additions and 0 deletions
|
@ -3728,6 +3728,9 @@ ENV FROM hello/docker/world
|
|||
ENV TO /docker/world/hello
|
||||
ADD $FROM $TO
|
||||
RUN [ "$(cat $TO)" = "hello" ]
|
||||
ENV abc=def
|
||||
ENV ghi=$abc
|
||||
RUN [ "$ghi" = "def" ]
|
||||
`
|
||||
ctx, err := fakeContext(dockerfile, map[string]string{
|
||||
"hello/docker/world": "hello",
|
||||
|
@ -3770,6 +3773,26 @@ ENV abc 'yyy'
|
|||
RUN [ $abc = \'yyy\' ]
|
||||
ENV abc=
|
||||
RUN [ "$abc" = "" ]
|
||||
|
||||
# use grep to make sure if the builder substitutes \$foo by mistake
|
||||
# we don't get a false positive
|
||||
ENV abc=\$foo
|
||||
RUN [ "$abc" = "\$foo" ] && (echo "$abc" | grep foo)
|
||||
ENV abc \$foo
|
||||
RUN [ "$abc" = "\$foo" ] && (echo "$abc" | grep foo)
|
||||
|
||||
ENV abc=\'foo\'
|
||||
RUN [ "$abc" = "'foo'" ]
|
||||
ENV abc=\"foo\"
|
||||
RUN [ "$abc" = "\"foo\"" ]
|
||||
ENV abc "foo"
|
||||
RUN [ "$abc" = "\"foo\"" ]
|
||||
ENV abc 'foo'
|
||||
RUN [ "$abc" = "'foo'" ]
|
||||
ENV abc \'foo\'
|
||||
RUN [ "$abc" = "\\'foo\\'" ]
|
||||
ENV abc \"foo\"
|
||||
RUN [ "$abc" = "\\\"foo\\\"" ]
|
||||
`
|
||||
ctx, err := fakeContext(dockerfile, map[string]string{
|
||||
"hello/docker/world": "hello",
|
||||
|
|
Loading…
Reference in a new issue