2 from tests.init.base import InitSystemBase as InitSystemBase
5 class InitSystemSystemdBase(InitSystemBase):
9 BR2_TOOLCHAIN_EXTERNAL=y
11 BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0"
13 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
14 BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3"
15 BR2_LINUX_KERNEL_DEFCONFIG="vexpress"
16 BR2_LINUX_KERNEL_DTS_SUPPORT=y
17 BR2_LINUX_KERNEL_INTREE_DTS_NAME="vexpress-v2p-ca9"
18 # BR2_TARGET_ROOTFS_TAR is not set
22 super(InitSystemSystemdBase, self).check_init("/lib/systemd/systemd")
24 # Test all units are OK
25 output, _ = self.emulator.run("systemctl --no-pager --failed --no-legend")
26 self.assertEqual(len(output), 0)
28 # Test we can reach the DBus daemon
29 _, exit_code = self.emulator.run("busctl --no-pager")
30 self.assertEqual(exit_code, 0)
32 # Test we can read at least one line from the journal
33 output, _ = self.emulator.run("journalctl --no-pager --lines 1 --quiet")
34 self.assertEqual(len(output), 1)
37 class TestInitSystemSystemdRoNetworkd(InitSystemSystemdBase):
38 config = InitSystemSystemdBase.config + \
40 BR2_SYSTEM_DHCP="eth0"
41 # BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW is not set
42 BR2_ROOTFS_OVERLAY="{}"
43 BR2_TARGET_ROOTFS_SQUASHFS=y
44 """.format(infra.filepath("tests/init/systemd-factory"))
47 self.start_emulator("squashfs", "zImage", "vexpress-v2p-ca9")
49 self.check_network("eth0")
51 # This one must be executed on the target, to check that
52 # the factory feature works as expected
53 out, exit_code = self.emulator.run("cat /var/foo/bar")
54 self.assertEqual(exit_code, 0)
55 self.assertEqual(out[0], "foobar")
58 class TestInitSystemSystemdRwNetworkd(InitSystemSystemdBase):
59 config = InitSystemSystemdBase.config + \
61 BR2_SYSTEM_DHCP="eth0"
62 BR2_TARGET_ROOTFS_EXT2=y
66 self.start_emulator("ext2", "zImage", "vexpress-v2p-ca9")
68 self.check_network("eth0")
71 class TestInitSystemSystemdRoIfupdown(InitSystemSystemdBase):
72 config = InitSystemSystemdBase.config + \
74 BR2_SYSTEM_DHCP="eth0"
75 # BR2_PACKAGE_SYSTEMD_NETWORKD is not set
76 # BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW is not set
77 BR2_TARGET_ROOTFS_SQUASHFS=y
81 self.start_emulator("squashfs", "zImage", "vexpress-v2p-ca9")
83 self.check_network("eth0")
86 class TestInitSystemSystemdRwIfupdown(InitSystemSystemdBase):
87 config = InitSystemSystemdBase.config + \
89 BR2_SYSTEM_DHCP="eth0"
90 # BR2_PACKAGE_SYSTEMD_NETWORKD is not set
91 # BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW is not set
92 BR2_TARGET_ROOTFS_EXT2=y
96 self.start_emulator("ext2", "zImage", "vexpress-v2p-ca9")
98 self.check_network("eth0")
101 class TestInitSystemSystemdRoFull(InitSystemSystemdBase):
102 config = InitSystemSystemdBase.config + \
104 BR2_SYSTEM_DHCP="eth0"
105 # BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW is not set
106 BR2_PACKAGE_SYSTEMD_JOURNAL_GATEWAY=y
107 BR2_PACKAGE_SYSTEMD_BACKLIGHT=y
108 BR2_PACKAGE_SYSTEMD_BINFMT=y
109 BR2_PACKAGE_SYSTEMD_COREDUMP=y
110 BR2_PACKAGE_SYSTEMD_FIRSTBOOT=y
111 BR2_PACKAGE_SYSTEMD_HIBERNATE=y
112 BR2_PACKAGE_SYSTEMD_IMPORTD=y
113 BR2_PACKAGE_SYSTEMD_LOCALED=y
114 BR2_PACKAGE_SYSTEMD_LOGIND=y
115 BR2_PACKAGE_SYSTEMD_MACHINED=y
116 BR2_PACKAGE_SYSTEMD_POLKIT=y
117 BR2_PACKAGE_SYSTEMD_QUOTACHECK=y
118 BR2_PACKAGE_SYSTEMD_RANDOMSEED=y
119 BR2_PACKAGE_SYSTEMD_RFKILL=y
120 BR2_PACKAGE_SYSTEMD_SMACK_SUPPORT=y
121 BR2_PACKAGE_SYSTEMD_SYSUSERS=y
122 BR2_PACKAGE_SYSTEMD_VCONSOLE=y
123 BR2_TARGET_ROOTFS_SQUASHFS=y
127 self.start_emulator("squashfs", "zImage", "vexpress-v2p-ca9")
129 self.check_network("eth0")
132 class TestInitSystemSystemdRwFull(InitSystemSystemdBase):
133 config = InitSystemSystemdBase.config + \
135 BR2_SYSTEM_DHCP="eth0"
136 BR2_PACKAGE_SYSTEMD_JOURNAL_GATEWAY=y
137 BR2_PACKAGE_SYSTEMD_BACKLIGHT=y
138 BR2_PACKAGE_SYSTEMD_BINFMT=y
139 BR2_PACKAGE_SYSTEMD_COREDUMP=y
140 BR2_PACKAGE_SYSTEMD_FIRSTBOOT=y
141 BR2_PACKAGE_SYSTEMD_HIBERNATE=y
142 BR2_PACKAGE_SYSTEMD_IMPORTD=y
143 BR2_PACKAGE_SYSTEMD_LOCALED=y
144 BR2_PACKAGE_SYSTEMD_LOGIND=y
145 BR2_PACKAGE_SYSTEMD_MACHINED=y
146 BR2_PACKAGE_SYSTEMD_POLKIT=y
147 BR2_PACKAGE_SYSTEMD_QUOTACHECK=y
148 BR2_PACKAGE_SYSTEMD_RANDOMSEED=y
149 BR2_PACKAGE_SYSTEMD_RFKILL=y
150 BR2_PACKAGE_SYSTEMD_SMACK_SUPPORT=y
151 BR2_PACKAGE_SYSTEMD_SYSUSERS=y
152 BR2_PACKAGE_SYSTEMD_VCONSOLE=y
153 BR2_TARGET_ROOTFS_EXT2=y
157 self.start_emulator("ext2", "zImage", "vexpress-v2p-ca9")
159 self.check_network("eth0")