oeqa/runtime/systemd.py: skip instead of failing without avahi

The SystemdServiceTests assume that avahi-daemon is installed,
which is not necessarily the case depending on the image being
tested.

Better check this dependency before starting the tests and skip
them if the service is not installed. This has to be done for
each test instead of for the entire module, because other
tests in the module can run without avavi.

(From OE-Core rev: ca23337d517cfdb7119e5fd8bd9a9a663ae135de)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Patrick Ohly 2015-04-09 02:24:23 -07:00 committed by Richard Purdie
parent 058e75d60e
commit 206d532180

View File

@ -67,13 +67,19 @@ class SystemdBasicTests(SystemdTest):
class SystemdServiceTests(SystemdTest):
def check_for_avahi(self):
if not self.hasPackage('avahi-daemon'):
raise unittest.SkipTest("Testcase dependency not met: need avahi-daemon installed on target")
@skipUnlessPassed('test_systemd_basic')
def test_systemd_status(self):
self.check_for_avahi()
self.systemctl('status --full', 'avahi-daemon.service')
@testcase(695)
@skipUnlessPassed('test_systemd_status')
def test_systemd_stop_start(self):
self.check_for_avahi()
self.systemctl('stop', 'avahi-daemon.service')
self.systemctl('is-active', 'avahi-daemon.service', expected=3, verbose=True)
self.systemctl('start','avahi-daemon.service')
@ -82,6 +88,7 @@ class SystemdServiceTests(SystemdTest):
@testcase(696)
@skipUnlessPassed('test_systemd_basic')
def test_systemd_disable_enable(self):
self.check_for_avahi()
self.systemctl('disable', 'avahi-daemon.service')
self.systemctl('is-enabled', 'avahi-daemon.service', expected=1)
self.systemctl('enable', 'avahi-daemon.service')