test_systemd.py 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. import infra.basetest
  2. from tests.init.base import InitSystemBase as InitSystemBase
  3. class InitSystemSystemdBase(InitSystemBase):
  4. config = \
  5. """
  6. BR2_arm=y
  7. BR2_TOOLCHAIN_EXTERNAL=y
  8. BR2_INIT_SYSTEMD=y
  9. BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0"
  10. BR2_LINUX_KERNEL=y
  11. BR2_LINUX_KERNEL_CUSTOM_VERSION=y
  12. BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3"
  13. BR2_LINUX_KERNEL_DEFCONFIG="vexpress"
  14. BR2_LINUX_KERNEL_DTS_SUPPORT=y
  15. BR2_LINUX_KERNEL_INTREE_DTS_NAME="vexpress-v2p-ca9"
  16. # BR2_TARGET_ROOTFS_TAR is not set
  17. """
  18. def checkInit(self):
  19. super(InitSystemSystemdBase, self).checkInit("/lib/systemd/systemd")
  20. class TestInitSystemSystemdRoNetworkd(InitSystemSystemdBase):
  21. config = InitSystemSystemdBase.config + \
  22. """
  23. BR2_SYSTEM_DHCP="eth0"
  24. # BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW is not set
  25. BR2_ROOTFS_OVERLAY="{}"
  26. BR2_TARGET_ROOTFS_SQUASHFS=y
  27. """.format(infra.filepath("tests/init/systemd-factory"))
  28. def test_run(self):
  29. self.startEmulator("squashfs", "zImage", "vexpress-v2p-ca9")
  30. self.checkInit()
  31. self.checkNetwork("eth0")
  32. # This one must be executed on the target, to check that
  33. # the factory feature works as expected
  34. out, exit_code = self.emulator.run("cat /var/foo/bar")
  35. self.assertEqual(exit_code, 0)
  36. self.assertEqual(out[0], "foobar")
  37. class TestInitSystemSystemdRwNetworkd(InitSystemSystemdBase):
  38. config = InitSystemSystemdBase.config + \
  39. """
  40. BR2_SYSTEM_DHCP="eth0"
  41. BR2_TARGET_ROOTFS_EXT2=y
  42. """
  43. def test_run(self):
  44. self.startEmulator("ext2", "zImage", "vexpress-v2p-ca9")
  45. self.checkInit()
  46. self.checkNetwork("eth0")
  47. class TestInitSystemSystemdRoIfupdown(InitSystemSystemdBase):
  48. config = InitSystemSystemdBase.config + \
  49. """
  50. BR2_SYSTEM_DHCP="eth0"
  51. # BR2_PACKAGE_SYSTEMD_NETWORKD is not set
  52. # BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW is not set
  53. BR2_TARGET_ROOTFS_SQUASHFS=y
  54. """
  55. def test_run(self):
  56. self.startEmulator("squashfs", "zImage", "vexpress-v2p-ca9")
  57. self.checkInit()
  58. self.checkNetwork("eth0")
  59. class TestInitSystemSystemdRwIfupdown(InitSystemSystemdBase):
  60. config = InitSystemSystemdBase.config + \
  61. """
  62. BR2_SYSTEM_DHCP="eth0"
  63. # BR2_PACKAGE_SYSTEMD_NETWORKD is not set
  64. # BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW is not set
  65. BR2_TARGET_ROOTFS_EXT2=y
  66. """
  67. def test_run(self):
  68. self.startEmulator("ext2", "zImage", "vexpress-v2p-ca9")
  69. self.checkInit()
  70. self.checkNetwork("eth0")
  71. class TestInitSystemSystemdRoFull(InitSystemSystemdBase):
  72. config = InitSystemSystemdBase.config + \
  73. """
  74. BR2_SYSTEM_DHCP="eth0"
  75. # BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW is not set
  76. BR2_PACKAGE_SYSTEMD_JOURNAL_GATEWAY=y
  77. BR2_PACKAGE_SYSTEMD_BACKLIGHT=y
  78. BR2_PACKAGE_SYSTEMD_BINFMT=y
  79. BR2_PACKAGE_SYSTEMD_COREDUMP=y
  80. BR2_PACKAGE_SYSTEMD_FIRSTBOOT=y
  81. BR2_PACKAGE_SYSTEMD_HIBERNATE=y
  82. BR2_PACKAGE_SYSTEMD_IMPORTD=y
  83. BR2_PACKAGE_SYSTEMD_LOCALED=y
  84. BR2_PACKAGE_SYSTEMD_LOGIND=y
  85. BR2_PACKAGE_SYSTEMD_MACHINED=y
  86. BR2_PACKAGE_SYSTEMD_POLKIT=y
  87. BR2_PACKAGE_SYSTEMD_QUOTACHECK=y
  88. BR2_PACKAGE_SYSTEMD_RANDOMSEED=y
  89. BR2_PACKAGE_SYSTEMD_RFKILL=y
  90. BR2_PACKAGE_SYSTEMD_SMACK_SUPPORT=y
  91. BR2_PACKAGE_SYSTEMD_SYSUSERS=y
  92. BR2_PACKAGE_SYSTEMD_VCONSOLE=y
  93. BR2_TARGET_ROOTFS_SQUASHFS=y
  94. """
  95. def test_run(self):
  96. self.startEmulator("squashfs", "zImage", "vexpress-v2p-ca9")
  97. self.checkInit()
  98. self.checkNetwork("eth0")
  99. class TestInitSystemSystemdRwFull(InitSystemSystemdBase):
  100. config = InitSystemSystemdBase.config + \
  101. """
  102. BR2_SYSTEM_DHCP="eth0"
  103. BR2_PACKAGE_SYSTEMD_JOURNAL_GATEWAY=y
  104. BR2_PACKAGE_SYSTEMD_BACKLIGHT=y
  105. BR2_PACKAGE_SYSTEMD_BINFMT=y
  106. BR2_PACKAGE_SYSTEMD_COREDUMP=y
  107. BR2_PACKAGE_SYSTEMD_FIRSTBOOT=y
  108. BR2_PACKAGE_SYSTEMD_HIBERNATE=y
  109. BR2_PACKAGE_SYSTEMD_IMPORTD=y
  110. BR2_PACKAGE_SYSTEMD_LOCALED=y
  111. BR2_PACKAGE_SYSTEMD_LOGIND=y
  112. BR2_PACKAGE_SYSTEMD_MACHINED=y
  113. BR2_PACKAGE_SYSTEMD_POLKIT=y
  114. BR2_PACKAGE_SYSTEMD_QUOTACHECK=y
  115. BR2_PACKAGE_SYSTEMD_RANDOMSEED=y
  116. BR2_PACKAGE_SYSTEMD_RFKILL=y
  117. BR2_PACKAGE_SYSTEMD_SMACK_SUPPORT=y
  118. BR2_PACKAGE_SYSTEMD_SYSUSERS=y
  119. BR2_PACKAGE_SYSTEMD_VCONSOLE=y
  120. BR2_TARGET_ROOTFS_EXT2=y
  121. """
  122. def test_run(self):
  123. self.startEmulator("ext2", "zImage", "vexpress-v2p-ca9")
  124. self.checkInit()
  125. self.checkNetwork("eth0")