diff options
author | André Draszik <git@andred.net> | 2019-10-17 10:28:02 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-10-19 23:18:33 +0100 |
commit | ee9d2f4fcfd5d66026522d92f95cbd350ed6227c (patch) | |
tree | 7eb881a6425e30ff00c62f1036a173528099a143 | |
parent | 568fd6ea47290051cf04b460b0424b7d459f6ffa (diff) | |
download | poky-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.py | 16 |
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 | |||
9 | from oeqa.core.decorator.depends import OETestDepends | 9 | from oeqa.core.decorator.depends import OETestDepends |
10 | from oeqa.core.decorator.data import skipIfDataVar, skipIfNotDataVar | 10 | from oeqa.core.decorator.data import skipIfDataVar, skipIfNotDataVar |
11 | from oeqa.runtime.decorator.package import OEHasPackage | 11 | from oeqa.runtime.decorator.package import OEHasPackage |
12 | from oeqa.core.decorator.data import skipIfNotFeature | 12 | from oeqa.core.decorator.data import skipIfNotFeature, skipIfFeature |
13 | 13 | ||
14 | class SystemdTest(OERuntimeTestCase): | 14 | class 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 | |||
123 | class SystemdJournalTests(SystemdTest): | 137 | class SystemdJournalTests(SystemdTest): |
124 | 138 | ||
125 | @OETestDepends(['systemd.SystemdBasicTests.test_systemd_basic']) | 139 | @OETestDepends(['systemd.SystemdBasicTests.test_systemd_basic']) |