]> git.ipfire.org Git - thirdparty/systemd.git/blob - test/units/testsuite-17.03.sh
Merge pull request #18863 from keszybz/cmdline-escaping
[thirdparty/systemd.git] / test / units / testsuite-17.03.sh
1 #!/usr/bin/env bash
2
3 set -ex
4
5 test_rule="/run/udev/rules.d/49-test.rules"
6
7 setup() {
8 mkdir -p "${test_rule%/*}"
9 cp -f /etc/udev/udev.conf /etc/udev/udev.conf.bckp
10 cat >"${test_rule}" <<EOF
11 SUBSYSTEM=="net", KERNEL=="lo", OPTIONS="log_level=debug"
12 SUBSYSTEM=="net", KERNEL=="lo", PROGRAM=="/bin/sleep 60"
13 EOF
14 echo "event_timeout=30" >>/etc/udev/udev.conf
15 echo "timeout_signal=SIGABRT" >>/etc/udev/udev.conf
16
17 systemctl restart systemd-udevd.service
18 }
19
20 teardown() {
21 set +e
22
23 mv -f /etc/udev/udev.conf.bckp /etc/udev/udev.conf
24 rm -f "$test_rule"
25 systemctl restart systemd-udevd.service
26 }
27
28 run_test() {
29 since="$(date +%T)"
30
31 echo add >/sys/class/net/lo/uevent
32
33 for _ in {1..20}; do
34 sleep 5
35 if coredumpctl --since "$since" --no-legend --no-pager | grep /bin/udevadm ; then
36 return 0
37 fi
38 done
39
40 return 1
41 }
42
43 trap teardown EXIT
44
45 setup
46 run_test
47
48 exit 0