# SPDX-License-Identifier: GPL-2.0-or-later if [[ "$ENGINE" == docker ]]; then # docker doesn't support --rootfs __skip fi "$UTIL_DIR/extract-vm-image.sh" "${TEST_IMAGES[fedora]}" "$TEMP_DIR/image" # Usage: __run [] __run() { __engine run --rm --detach --name "$TEST_ID" "${@:2}" --rootfs "$TEMP_DIR" "$1" } # Usage: __test __test() { id=$( __run "$1" ) __engine exec "$TEST_ID" --as fedora "$2" __engine stop "$TEST_ID" if [[ "$ENGINE" != rootful-podman ]]; then # ensure user that invoked `engine run` can delete crun-vm state rm -r "$TEMP_DIR/crun-vm-$id" fi } __test "" '[[ ! -e i-was-here ]] && touch i-was-here' __test --persistent '[[ ! -e i-was-here ]] && touch i-was-here' __test --persistent '[[ -e i-was-here ]]' __test "" '[[ -e i-was-here ]]' # ensure --persistent is rejected iff the rootfs is configured as read-only ! RUST_LIB_BACKTRACE=0 __run --persistent --read-only __run "" --read-only __engine exec "$TEST_ID" --as fedora