1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2025-01-18 06:03:42 +03:00

test: bump the data partition size if we don't strip binaries

so we can run TEST-24 under sanitizers as well.

Also, when at it, use the 'named-fields' sfdisk format to make the code
a bit more descriptive without needing a manual.

(cherry picked from commit 98b27937cb02dac98d8a9f0c48ba677b45df0831)
This commit is contained in:
Frantisek Sumsal 2022-07-07 14:13:32 +02:00 committed by Luca Boccassi
parent 05a9dfa81b
commit 514168f169

View File

@ -1277,33 +1277,38 @@ create_empty_image() {
exit 1 exit 1
fi fi
local size=500 # Partition sizes are in MiBs
local root_size=500
local data_size=50
if ! get_bool "$NO_BUILD"; then if ! get_bool "$NO_BUILD"; then
if meson configure "${BUILD_DIR:?}" | grep 'static-lib\|standalone-binaries' | awk '{ print $2 }' | grep -q 'true'; then if meson configure "${BUILD_DIR:?}" | grep 'static-lib\|standalone-binaries' | awk '{ print $2 }' | grep -q 'true'; then
size=$((size+=200)) root_size=$((root_size+=200))
fi fi
if meson configure "${BUILD_DIR:?}" | grep 'link-.*-shared' | awk '{ print $2 }' | grep -q 'false'; then if meson configure "${BUILD_DIR:?}" | grep 'link-.*-shared' | awk '{ print $2 }' | grep -q 'false'; then
size=$((size+=200)) root_size=$((root_size+=200))
fi fi
if get_bool "$IS_BUILT_WITH_COVERAGE"; then if get_bool "$IS_BUILT_WITH_COVERAGE"; then
size=$((size+=250)) root_size=$((root_size+=250))
fi fi
fi fi
if ! get_bool "$STRIP_BINARIES"; then if ! get_bool "$STRIP_BINARIES"; then
size=$((4 * size)) root_size=$((4 * root_size))
data_size=$((2 * data_size))
fi fi
echo "Setting up ${IMAGE_PUBLIC:?} (${size} MB)" echo "Setting up ${IMAGE_PUBLIC:?} (${root_size} MB)"
rm -f "${IMAGE_PRIVATE:?}" "$IMAGE_PUBLIC" rm -f "${IMAGE_PRIVATE:?}" "$IMAGE_PUBLIC"
# Create the blank file to use as a root filesystem # Create the blank file to use as a root filesystem
truncate -s "${size}M" "$IMAGE_PUBLIC" truncate -s "${root_size}M" "$IMAGE_PUBLIC"
LOOPDEV=$(losetup --show -P -f "$IMAGE_PUBLIC") LOOPDEV=$(losetup --show -P -f "$IMAGE_PUBLIC")
[ -b "$LOOPDEV" ] || return 1 [ -b "$LOOPDEV" ] || return 1
# Create two partitions - a root one and a data one (utilized by some tests)
sfdisk "$LOOPDEV" <<EOF sfdisk "$LOOPDEV" <<EOF
,$((size - 50))M,L,* label: gpt
, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4 name=root size=$((root_size - data_size))M bootable
type=0FC63DAF-8483-4772-8E79-3D69D8477DE4 name=data
EOF EOF
udevadm settle udevadm settle