Skip to content

Commit

Permalink
test: add a test to verify race free concurrent/parallel builds
Browse files Browse the repository at this point in the history
Invoking parallel/concurrent builds from podman race against each other
following behviour was fixed in
containers/storage#1153 and containers/image#1480

Test verifies if following bug is fixed in new race-free API or not.
Read more about this issue, see bz 2055487 for more details.

Test manually backported from: containers/podman@63f92d0

Signed-off-by: Aditya R <arajan@redhat.com>
  • Loading branch information
flouthoc committed Mar 24, 2022
1 parent 005a8e7 commit 44936c1
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions test/system/070-build.bats
Expand Up @@ -210,6 +210,32 @@ EOF
run_podman rmi -f build_test
}

@test "podman parallel build should not race" {
skip_if_remote "following test is not supported for remote clients"

# Run thirty parallel builds using the same Containerfile
cat >$PODMAN_TMPDIR/Containerfile <<EOF
FROM $IMAGE
RUN echo hi
EOF

local count=30
for i in $(seq --format '%02g' 1 $count); do
timeout --foreground -v --kill=10 60 \
$PODMAN build -t i$i $PODMAN_TMPDIR &>/dev/null &
done

# Wait for all background builds to complete. Note that this succeeds
# even if some of the individual builds fail! Our actual test is below.
wait

# Now delete all built images. If any image wasn't built, rmi will fail
# and test will fail.
for i in $(seq --format 'i%02g' 1 $count); do
run_podman rmi $i
done
}

@test "podman build - URLs" {
tmpdir=$PODMAN_TMPDIR/build-test
mkdir -p $tmpdir
Expand Down

0 comments on commit 44936c1

Please sign in to comment.