aboutsummaryrefslogtreecommitdiff
path: root/test/system/070-build.bats
diff options
context:
space:
mode:
Diffstat (limited to 'test/system/070-build.bats')
-rw-r--r--test/system/070-build.bats49
1 files changed, 49 insertions, 0 deletions
diff --git a/test/system/070-build.bats b/test/system/070-build.bats
index 0f3f3fa7f..6843e28a5 100644
--- a/test/system/070-build.bats
+++ b/test/system/070-build.bats
@@ -29,6 +29,29 @@ EOF
run_podman rmi -f build_test
}
+@test "podman build test -f -" {
+ rand_filename=$(random_string 20)
+ rand_content=$(random_string 50)
+
+ tmpdir=$PODMAN_TMPDIR/build-test
+ mkdir -p $tmpdir
+ containerfile=$PODMAN_TMPDIR/Containerfile
+ cat >$containerfile <<EOF
+FROM $IMAGE
+RUN apk add nginx
+RUN echo $rand_content > /$rand_filename
+EOF
+
+ # The 'apk' command can take a long time to fetch files; bump timeout
+ PODMAN_TIMEOUT=240 run_podman build -t build_test -f - --format=docker $tmpdir < $containerfile
+ is "$output" ".*STEP 4: COMMIT" "COMMIT seen in log"
+
+ run_podman run --rm build_test cat /$rand_filename
+ is "$output" "$rand_content" "reading generated file in image"
+
+ run_podman rmi -f build_test
+}
+
@test "podman build - global runtime flags test" {
skip_if_remote "--runtime-flag flag not supported for remote"
@@ -794,6 +817,32 @@ EOF
run_podman rmi -f build_test
}
+@test "podman build -f test " {
+ tmpdir=$PODMAN_TMPDIR/build-test
+ subdir=$tmpdir/subdir
+ mkdir -p $subdir
+
+ containerfile1=$tmpdir/Containerfile1
+ cat >$containerfile1 <<EOF
+FROM scratch
+copy . /tmp
+EOF
+ containerfile2=$PODMAN_TMPDIR/Containerfile2
+ cat >$containerfile2 <<EOF
+FROM $IMAGE
+EOF
+ run_podman build -t build_test -f Containerfile1 $tmpdir
+ run_podman 125 build -t build_test -f Containerfile2 $tmpdir
+ is "$output" ".*Containerfile2: no such file or directory" "Containerfile2 should not exist"
+ run_podman build -t build_test -f $containerfile1 $tmpdir
+ run_podman build -t build_test -f $containerfile2 $tmpdir
+ run_podman build -t build_test -f $containerfile1
+ run_podman build -t build_test -f $containerfile2
+ run_podman build -t build_test -f $containerfile1 -f $containerfile2 $tmpdir
+ is "$output" ".*$IMAGE" "Containerfile2 is also passed to server"
+ run_podman rmi -f build_test
+}
+
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