summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndré Draszik <git@andred.net>2019-10-17 10:28:02 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-10-19 23:18:33 +0100
commitee9d2f4fcfd5d66026522d92f95cbd350ed6227c (patch)
tree7eb881a6425e30ff00c62f1036a173528099a143
parent568fd6ea47290051cf04b460b0424b7d459f6ffa (diff)
downloadpoky-ee9d2f4fcfd5d66026522d92f95cbd350ed6227c.tar.gz
oeqa/runtime/systemd: skip unit enable/disable on read-only-rootfs
This doesn't work on read-only-rootfs: AssertionError: 1 != 0 : SYSTEMD_BUS_TIMEOUT=240s systemctl disable avahi-daemon.service Failed to disable unit: File /etc/systemd/system/multi-user.target.wants/avahi-daemon.service: Read-only file system This patch does two things: 1) Decorate the existing test to be skipped if the rootfs is read-only 2) add a new test to be executed only if the rootfs is read-only. This new test remounts the rootfs read-write before continuing to execute the existing test, making sure to clean up correctly after itself (remount r/o again). (From OE-Core rev: ec856301887b1139f93aa54d04bed9b842357b4f) Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/lib/oeqa/runtime/cases/systemd.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/meta/lib/oeqa/runtime/cases/systemd.py b/meta/lib/oeqa/runtime/cases/systemd.py
index c11fa49b07..7c44abe8ed 100644
--- a/meta/lib/oeqa/runtime/cases/systemd.py
+++ b/meta/lib/oeqa/runtime/cases/systemd.py
@@ -9,7 +9,7 @@ from oeqa.runtime.case import OERuntimeTestCase
9from oeqa.core.decorator.depends import OETestDepends 9from oeqa.core.decorator.depends import OETestDepends
10from oeqa.core.decorator.data import skipIfDataVar, skipIfNotDataVar 10from oeqa.core.decorator.data import skipIfDataVar, skipIfNotDataVar
11from oeqa.runtime.decorator.package import OEHasPackage 11from oeqa.runtime.decorator.package import OEHasPackage
12from oeqa.core.decorator.data import skipIfNotFeature 12from oeqa.core.decorator.data import skipIfNotFeature, skipIfFeature
13 13
14class SystemdTest(OERuntimeTestCase): 14class SystemdTest(OERuntimeTestCase):
15 15
@@ -114,12 +114,26 @@ class SystemdServiceTests(SystemdTest):
114 self.systemctl('is-active', 'avahi-daemon.service', verbose=True) 114 self.systemctl('is-active', 'avahi-daemon.service', verbose=True)
115 115
116 @OETestDepends(['systemd.SystemdServiceTests.test_systemd_status']) 116 @OETestDepends(['systemd.SystemdServiceTests.test_systemd_status'])
117 @skipIfFeature('read-only-rootfs',
118 'Test is only meant to run without read-only-rootfs in IMAGE_FEATURES')
117 def test_systemd_disable_enable(self): 119 def test_systemd_disable_enable(self):
118 self.systemctl('disable', 'avahi-daemon.service') 120 self.systemctl('disable', 'avahi-daemon.service')
119 self.systemctl('is-enabled', 'avahi-daemon.service', expected=1) 121 self.systemctl('is-enabled', 'avahi-daemon.service', expected=1)
120 self.systemctl('enable', 'avahi-daemon.service') 122 self.systemctl('enable', 'avahi-daemon.service')
121 self.systemctl('is-enabled', 'avahi-daemon.service') 123 self.systemctl('is-enabled', 'avahi-daemon.service')
122 124
125 @OETestDepends(['systemd.SystemdServiceTests.test_systemd_status'])
126 @skipIfNotFeature('read-only-rootfs',
127 'Test is only meant to run with read-only-rootfs in IMAGE_FEATURES')
128 def test_systemd_disable_enable_ro(self):
129 status = self.target.run('mount -orw,remount /')[0]
130 self.assertTrue(status == 0, msg='Remounting / as r/w failed')
131 try:
132 self.test_systemd_disable_enable()
133 finally:
134 status = self.target.run('mount -oro,remount /')[0]
135 self.assertTrue(status == 0, msg='Remounting / as r/o failed')
136
123class SystemdJournalTests(SystemdTest): 137class SystemdJournalTests(SystemdTest):
124 138
125 @OETestDepends(['systemd.SystemdBasicTests.test_systemd_basic']) 139 @OETestDepends(['systemd.SystemdBasicTests.test_systemd_basic'])