mirror of https://github.com/containers/podman.git
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
|
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" {
|
@test "podman build - URLs" {
|
||||||
tmpdir=$PODMAN_TMPDIR/build-test
|
tmpdir=$PODMAN_TMPDIR/build-test
|
||||||
mkdir -p $tmpdir
|
mkdir -p $tmpdir
|
||||||
|
|
Loading…
Reference in New Issue