]> git.ipfire.org Git - thirdparty/systemd.git/blob - test/TEST-17-UDEV-WANTS/testsuite.sh
treewide: more portable bash shebangs
[thirdparty/systemd.git] / test / TEST-17-UDEV-WANTS / testsuite.sh
1 #!/usr/bin/env bash
2 set -ex
3 set -o pipefail
4
5 mkdir -p /run/udev/rules.d/
6
7 rm -f /run/udev/rules.d/50-testsuite.rules
8 udevadm control --reload
9 udevadm trigger /dev/sda
10
11 while : ; do
12 (
13 udevadm info /dev/sda | grep -q -v SYSTEMD_WANTS=foobar.service
14 udevadm info /dev/sda | grep -q -v SYSTEMD_WANTS=waldo.service
15 systemctl show -p WantedBy foobar.service | grep -q -v sda
16 systemctl show -p WantedBy waldo.service | grep -q -v sda
17 ) && break
18
19 sleep .5
20 done
21
22 cat > /run/udev/rules.d/50-testsuite.rules <<EOF
23 ACTION!="remove", SUBSYSTEM=="block", KERNEL=="sda", ENV{SYSTEMD_WANTS}="foobar.service"
24 EOF
25 udevadm control --reload
26 udevadm trigger /dev/sda
27
28 while : ; do
29 (
30 udevadm info /dev/sda | grep -q SYSTEMD_WANTS=foobar.service
31 udevadm info /dev/sda | grep -q -v SYSTEMD_WANTS=waldo.service
32 systemctl show -p WantedBy foobar.service | grep -q sda
33 systemctl show -p WantedBy waldo.service | grep -q -v sda
34 ) && break
35
36 sleep .5
37 done
38
39 cat > /run/udev/rules.d/50-testsuite.rules <<EOF
40 ACTION!="remove", SUBSYSTEM=="block", KERNEL=="sda", ENV{SYSTEMD_WANTS}="waldo.service"
41 EOF
42 udevadm control --reload
43 udevadm trigger /dev/sda
44
45 while : ; do
46 (
47 udevadm info /dev/sda | grep -q -v SYSTEMD_WANTS=foobar.service
48 udevadm info /dev/sda | grep -q SYSTEMD_WANTS=waldo.service
49 systemctl show -p WantedBy foobar.service | grep -q -v sda
50 systemctl show -p WantedBy waldo.service | grep -q sda
51 ) && break
52
53 sleep .5
54 done
55
56 rm /run/udev/rules.d/50-testsuite.rules
57
58 udevadm control --reload
59 udevadm trigger /dev/sda
60
61 while : ; do
62 (
63 udevadm info /dev/sda | grep -q -v SYSTEMD_WANTS=foobar.service
64 udevadm info /dev/sda | grep -q -v SYSTEMD_WANTS=waldo.service
65 systemctl show -p WantedBy foobar.service | grep -q -v sda
66 systemctl show -p WantedBy waldo.service | grep -q -v sda
67 ) && break
68
69 sleep .5
70 done
71
72 echo OK > /testok
73
74 exit 0