2020-03-04 09:35:06 +00:00
|
|
|
#!/usr/bin/env bash
|
2021-10-17 16:13:06 +00:00
|
|
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
2021-04-09 17:39:41 +00:00
|
|
|
set -eux
|
2019-08-21 00:39:38 +00:00
|
|
|
set -o pipefail
|
|
|
|
|
2023-05-08 20:38:34 +00:00
|
|
|
# Test ExecXYZEx= service unit dbus hookups
|
|
|
|
|
2019-08-21 00:39:38 +00:00
|
|
|
systemd-analyze log-level debug
|
|
|
|
|
|
|
|
declare -A property
|
|
|
|
|
|
|
|
property[1_one]=ExecCondition
|
|
|
|
property[2_two]=ExecStartPre
|
|
|
|
property[3_three]=ExecStart
|
|
|
|
property[4_four]=ExecStartPost
|
|
|
|
property[5_five]=ExecReload
|
|
|
|
property[6_six]=ExecStop
|
|
|
|
property[7_seven]=ExecStopPost
|
|
|
|
|
|
|
|
# These should all get upgraded to the corresponding Ex property as the non-Ex variant
|
|
|
|
# does not support the ":" prefix (no-env-expand).
|
|
|
|
for c in "${!property[@]}"; do
|
|
|
|
systemd-run --unit="$c" -r -p "Type=oneshot" -p "${property[$c]}=:/bin/echo \${$c}" /bin/true
|
|
|
|
systemctl show -p "${property[$c]}" "$c" | grep -F "path=/bin/echo ; argv[]=/bin/echo \${$c} ; ignore_errors=no"
|
|
|
|
systemctl show -p "${property[$c]}Ex" "$c" | grep -F "path=/bin/echo ; argv[]=/bin/echo \${$c} ; flags=no-env-expand"
|
|
|
|
done
|
|
|
|
|
|
|
|
declare -A property_ex
|
|
|
|
|
|
|
|
property_ex[1_one_ex]=ExecConditionEx
|
|
|
|
property_ex[2_two_ex]=ExecStartPreEx
|
|
|
|
property_ex[3_three_ex]=ExecStartEx
|
|
|
|
property_ex[4_four_ex]=ExecStartPostEx
|
|
|
|
property_ex[5_five_ex]=ExecReloadEx
|
|
|
|
property_ex[6_six_ex]=ExecStopEx
|
|
|
|
property_ex[7_seven_ex]=ExecStopPostEx
|
|
|
|
|
|
|
|
for c in "${!property_ex[@]}"; do
|
|
|
|
systemd-run --unit="$c" -r -p "Type=oneshot" -p "${property_ex[$c]}=:/bin/echo \${$c}" /bin/true
|
|
|
|
systemctl show -p "${property_ex[$c]%??}" "$c" | grep -F "path=/bin/echo ; argv[]=/bin/echo \${$c} ; ignore_errors=no"
|
|
|
|
systemctl show -p "${property_ex[$c]}" "$c" | grep -F "path=/bin/echo ; argv[]=/bin/echo \${$c} ; flags=no-env-expand"
|
|
|
|
done
|
|
|
|
|
|
|
|
systemd-analyze log-level info
|