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:
Doug Davis 2015-02-19 16:27:20 -08:00
parent e82cf741e3
commit ed3bc3b986

View file

@ -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",