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