dockerfile: add test for formatting in env

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
docker-19.03
Tonis Tiigi 2019-07-01 15:49:32 -07:00
parent 1ef979a7bb
commit 717bb1d769
1 changed files with 39 additions and 0 deletions

View File

@ -89,6 +89,7 @@ var allTests = []integration.Test{
testDockerignoreOverride,
testTarExporter,
testDefaultEnvWithArgs,
testEnvEmptyFormatting,
}
var fileOpTests = []integration.Test{
@ -204,6 +205,44 @@ echo -n $my_arg > /out
require.Equal(t, "def_val", string(dt))
}
func testEnvEmptyFormatting(t *testing.T, sb integration.Sandbox) {
f := getFrontend(t, sb)
dockerfile := []byte(`
FROM busybox AS build
ENV myenv foo%sbar
RUN [ "$myenv" = 'foo%sbar' ]
`)
dir, err := tmpdir(
fstest.CreateFile("Dockerfile", dockerfile, 0600),
)
require.NoError(t, err)
defer os.RemoveAll(dir)
c, err := client.New(context.TODO(), sb.Address())
require.NoError(t, err)
defer c.Close()
destDir, err := ioutil.TempDir("", "buildkit")
require.NoError(t, err)
defer os.RemoveAll(destDir)
_, err = f.Solve(context.TODO(), c, client.SolveOpt{
Exports: []client.ExportEntry{
{
Type: client.ExporterLocal,
OutputDir: destDir,
},
},
LocalDirs: map[string]string{
builder.DefaultLocalNameDockerfile: dir,
builder.DefaultLocalNameContext: dir,
},
}, nil)
require.NoError(t, err)
}
func testDockerignoreOverride(t *testing.T, sb integration.Sandbox) {
f := getFrontend(t, sb)
dockerfile := []byte(`