From 7cded6b33b0571a4c67ed5014f37fc057c365984 Mon Sep 17 00:00:00 2001 From: CrazyMax <1951866+crazy-max@users.noreply.github.com> Date: Tue, 2 Apr 2024 14:40:49 +0200 Subject: [PATCH] tests: build from stdin Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com> --- tests/build.go | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/tests/build.go b/tests/build.go index 7d20bacd..42975686 100644 --- a/tests/build.go +++ b/tests/build.go @@ -36,6 +36,7 @@ func buildCmd(sb integration.Sandbox, opts ...cmdOpt) (string, error) { var buildTests = []func(t *testing.T, sb integration.Sandbox){ testBuild, + testBuildStdin, testImageIDOutput, testBuildLocalExport, testBuildRegistryExport, @@ -65,6 +66,26 @@ func testBuild(t *testing.T, sb integration.Sandbox) { require.NoError(t, err, string(out)) } +func testBuildStdin(t *testing.T, sb integration.Sandbox) { + dockerfile := []byte(` +FROM busybox:latest AS base +COPY foo /etc/foo +RUN cp /etc/foo /etc/bar + +FROM scratch +COPY --from=base /etc/bar /bar +`) + dir := tmpdir( + t, + fstest.CreateFile("foo", []byte("foo"), 0600), + ) + + cmd := buildxCmd(sb, withDir(dir), withArgs("build", "--progress=quiet", "-f-", dir)) + cmd.Stdin = bytes.NewReader(dockerfile) + out, err := cmd.CombinedOutput() + require.NoError(t, err, string(out)) +} + func testBuildLocalExport(t *testing.T, sb integration.Sandbox) { dir := createTestProject(t) out, err := buildCmd(sb, withArgs(fmt.Sprintf("--output=type=local,dest=%s/result", dir), dir))