diff options
Diffstat (limited to 'test/system/070-build.bats')
-rw-r--r-- | test/system/070-build.bats | 74 |
1 files changed, 73 insertions, 1 deletions
diff --git a/test/system/070-build.bats b/test/system/070-build.bats index c45a661fe..06ff0c9e2 100644 --- a/test/system/070-build.bats +++ b/test/system/070-build.bats @@ -509,6 +509,40 @@ EOF done } +# Regression test for #9867 +# Make sure that if you exclude everything in context dir, that +# the Containerfile/Dockerfile in the context dir are used +@test "podman build with ignore '*'" { + local tmpdir=$PODMAN_TMPDIR/build-test-$(random_string 10) + mkdir -p $tmpdir + + cat >$tmpdir/Containerfile <<EOF +FROM scratch +EOF + +cat >$tmpdir/.dockerignore <<EOF +* +EOF + + run_podman build -t build_test $tmpdir + + # Rename Containerfile to Dockerfile + mv $tmpdir/Containerfile $tmpdir/Dockerfile + + run_podman build -t build_test $tmpdir + + # Rename Dockerfile to foofile + mv $tmpdir/Dockerfile $tmpdir/foofile + + run_podman 125 build -t build_test $tmpdir + is "$output" ".*Dockerfile: no such file or directory" + + run_podman build -t build_test -f $tmpdir/foofile $tmpdir + + # Clean up + run_podman rmi -f build_test +} + @test "podman build - stdin test" { # Random workdir, and random string to verify build output workdir=/$(random_string 10) @@ -817,7 +851,7 @@ EOF run_podman rmi -f build_test } -@test "podman build -f test " { +@test "podman build -f test" { tmpdir=$PODMAN_TMPDIR/build-test subdir=$tmpdir/subdir mkdir -p $subdir @@ -843,6 +877,44 @@ EOF run_podman rmi -f build_test } +@test "podman build .dockerignore failure test" { + tmpdir=$PODMAN_TMPDIR/build-test + subdir=$tmpdir/subdir + mkdir -p $subdir + + cat >$tmpdir/.dockerignore <<EOF +* +subdir +!*/sub1* +EOF + cat >$tmpdir/Containerfile <<EOF +FROM $IMAGE +COPY ./ ./ +COPY subdir ./ +EOF + run_podman 125 build -t build_test $tmpdir + is "$output" ".*Error: error building at STEP \"COPY subdir ./\"" ".dockerignore was ignored" +} + +@test "podman build .containerignore and .dockerignore test" { + tmpdir=$PODMAN_TMPDIR/build-test + mkdir -p $tmpdir + touch $tmpdir/test1 $tmpdir/test2 + cat >$tmpdir/.containerignore <<EOF +test2* +EOF + cat >$tmpdir/.dockerignore <<EOF +test1* +EOF + cat >$tmpdir/Containerfile <<EOF +FROM $IMAGE +COPY ./ /tmp/test/ +RUN ls /tmp/test/ +EOF + run_podman build -t build_test $tmpdir + is "$output" ".*test1" "test1 should exists in the final image" +} + function teardown() { # A timeout or other error in 'build' can leave behind stale images # that podman can't even see and which will cascade into subsequent |