hwdb: fix screen rotation for EXO Wings 2in1 w1125 (#36283)
[systemd.io.git] / test / units / TEST-81-GENERATORS.run-generator.sh
blob9bd74efbaff50ed20e0041bca22898be560ed009
1 #!/usr/bin/env bash
2 # SPDX-License-Identifier: LGPL-2.1-or-later
3 # shellcheck disable=SC2235
4 set -eux
5 set -o pipefail
7 # shellcheck source=test/units/generator-utils.sh
8 . "$(dirname "$0")/generator-utils.sh"
10 GENERATOR_BIN="/usr/lib/systemd/system-generators/systemd-run-generator"
11 OUT_DIR="$(mktemp -d /tmp/run-generator.XXX)"
13 at_exit() {
14 rm -frv "${OUT_DIR:?}"
17 trap at_exit EXIT
19 test -x "${GENERATOR_BIN:?}"
21 check_kernel_cmdline_target() {
22 local out_dir="${1:?}/normal"
24 cat "$out_dir/kernel-command-line.target"
25 grep -qE "^Requires=kernel-command-line.service$" "$out_dir/kernel-command-line.target"
26 grep -qE "^After=kernel-command-line.service$" "$out_dir/kernel-command-line.target"
28 link_eq "$out_dir/default.target" "kernel-command-line.target"
31 : "run-generator: empty cmdline"
32 SYSTEMD_PROC_CMDLINE="" run_and_list "$GENERATOR_BIN" "$OUT_DIR"
33 [[ "$(find "$OUT_DIR" ! -type d | wc -l)" -eq 0 ]]
35 : "run-generator: single command"
36 CMDLINE="systemd.run='echo hello world'"
37 SYSTEMD_PROC_CMDLINE="$CMDLINE" run_and_list "$GENERATOR_BIN" "$OUT_DIR"
38 check_kernel_cmdline_target "$OUT_DIR"
39 UNIT="$OUT_DIR/normal/kernel-command-line.service"
40 cat "$UNIT"
41 systemd-analyze verify --man=no --recursive-errors=no "$UNIT"
42 grep -qE "^SuccessAction=exit$" "$UNIT"
43 grep -qE "^FailureAction=exit$" "$UNIT"
44 grep -qE "^ExecStart=echo hello world$" "$UNIT"
46 : "run-generator: multiple commands + success/failure actions"
47 ARGS=(
48 # These should be ignored
49 "systemd.run"
50 "systemd.run_success_action"
51 "systemd.run_failure_action"
53 # Set actions which we will overwrite later
54 "systemd.run_success_action="
55 "systemd.run_failure_action="
57 "systemd.run=/bin/false"
58 "systemd.run="
59 "systemd.run=/bin/true"
60 "systemd.run='echo this is a long string'"
62 "systemd.run_success_action=reboot"
63 "systemd.run_failure_action=poweroff-force"
65 CMDLINE="${ARGS[*]}"
66 SYSTEMD_PROC_CMDLINE="$CMDLINE" run_and_list "$GENERATOR_BIN" "$OUT_DIR"
67 check_kernel_cmdline_target "$OUT_DIR"
68 UNIT="$OUT_DIR/normal/kernel-command-line.service"
69 cat "$UNIT"
70 systemd-analyze verify --man=no --recursive-errors=no "$UNIT"
71 grep -qE "^SuccessAction=reboot$" "$UNIT"
72 grep -qE "^FailureAction=poweroff-force$" "$UNIT"
73 grep -qE "^ExecStart=/bin/false$" "$UNIT"
74 grep -qE "^ExecStart=$" "$UNIT"
75 grep -qE "^ExecStart=/bin/true$" "$UNIT"
76 grep -qE "^ExecStart=echo this is a long string$" "$UNIT"