mirror of
https://github.com/containers/podman
synced 2024-10-20 17:23:30 +00:00
test: add a test to verify race free concurrent/parallel builds
Invoking parallel/concurrent builds from podman race against each other following behviour was fixed in https://github.com/containers/storage/pull/1153 and https://github.com/containers/image/pull/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. More details here: https://github.com/containers/buildah/pull/3794 and https://github.com/containers/podman/pull/13339 Co-authored-by: Ed Santiago <santiago@redhat.com> Signed-off-by: Aditya R <arajan@redhat.com>
This commit is contained in:
parent
410d286608
commit
63f92d0a66
|
@ -210,6 +210,30 @@ 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.
|
||||
run_podman rmi $(seq --format 'i%02g' 1 $count)
|
||||
}
|
||||
|
||||
@test "podman build - URLs" {
|
||||
tmpdir=$PODMAN_TMPDIR/build-test
|
||||
mkdir -p $tmpdir
|
||||
|
|
Loading…
Reference in a new issue