2 # SPDX-License-Identifier: LGPL-2.1-or-later
3 # shellcheck disable=SC2235
7 # shellcheck source=test/units/generator-utils.sh
8 .
"$(dirname "$0")/generator-utils.sh"
10 GENERATOR_BIN
="/usr/lib/systemd/system-generators/systemd-system-update-generator"
11 OUT_DIR
="$(mktemp -d /tmp/system-update-generator-generator.XXX)"
14 rm -frv "${OUT_DIR:?}" /system-update
19 test -x "${GENERATOR_BIN:?}"
23 : "system-update-generator: no /system-update flag"
24 run_and_list
"$GENERATOR_BIN" "$OUT_DIR"
25 [[ "$(find "$OUT_DIR" ! -type d | wc -l)" -eq 0 ]]
27 : "system-update-generator: with /system-update flag"
29 run_and_list
"$GENERATOR_BIN" "$OUT_DIR"
30 link_endswith
"$OUT_DIR/early/default.target" "/lib/systemd/system/system-update.target"
32 : "system-update-generator: kernel cmdline warnings"
33 # We should warn if the default target is overridden on the kernel cmdline
34 # by a runlevel or systemd.unit=, but still generate the symlink
35 SYSTEMD_PROC_CMDLINE
="systemd.unit=foo.bar 3" run_and_list
"$GENERATOR_BIN" "$OUT_DIR" |
& tee /tmp
/system-update-generator.log
36 link_endswith
"$OUT_DIR/early/default.target" "/lib/systemd/system/system-update.target"
37 grep -qE "Offline system update overridden .* systemd.unit=" /tmp
/system-update-generator.log
38 grep -qE "Offline system update overridden .* runlevel" /tmp
/system-update-generator.log