test: skip the test early if we're built without systemd-homed

We check for homed stuff in the test itself, but this is way too late,
since we already started a unit that Requires=systemd-homed.service
(testsuite-46.service). For now this doesn't matter, but with #27852
the offending transaction is dropped from the job queue, making the test
fail.

Spotted in #27852 in Ubuntu CI.
This commit is contained in:
Frantisek Sumsal 2023-05-31 15:40:33 +02:00 committed by Yu Watanabe
parent 322bda8241
commit 4c709f3908

View file

@ -5,21 +5,25 @@ set -e
TEST_DESCRIPTION="testing homed"
# Skip the qemu version of the test, unless we have btrfs
(modprobe -nv btrfs && command -v mkfs.btrfs) || TEST_NO_QEMU=1
(modprobe -nv btrfs && command -v mkfs.btrfs >/dev/null) || TEST_NO_QEMU=1
# shellcheck source=test/test-functions
. "${TEST_BASE_DIR:?}/test-functions"
get_bool "${NO_BUILD:-}" && HOMECTL_BIN="homectl" || HOMECTL_BIN="${BUILD_DIR:?}/homectl"
if ! command -v "$HOMECTL_BIN" >/dev/null; then
echo "Built without systemd-homed, skipping the test"
exit 0
fi
# Need loop devices for mounting images
test_append_files() {
(
if [ "$TEST_NO_QEMU" != "1" ] ; then
instmods loop =block
install_dmevent
install_btrfs
generate_module_dependencies
fi
)
if ! get_bool "$TEST_NO_QEMU" ; then
instmods loop =block
install_dmevent
install_btrfs
generate_module_dependencies
fi
}
do_test "$@"