1from oeqa.runtime.case import OERuntimeTestCase
2from oeqa.core.decorator.depends import OETestDepends
3from oeqa.core.decorator.oeid import OETestID
4from oeqa.runtime.decorator.package import OEHasPackage
5
6class ConnmanTest(OERuntimeTestCase):
7
8    def service_status(self, service):
9        if 'systemd' in self.tc.td['DISTRO_FEATURES']:
10            (_, output) = self.target.run('systemctl status -l %s' % service)
11            return output
12        else:
13            return "Unable to get status or logs for %s" % service
14
15    @OETestID(961)
16    @OETestDepends(['ssh.SSHTest.test_ssh'])
17    @OEHasPackage(["connman"])
18    def test_connmand_help(self):
19        (status, output) = self.target.run('/usr/sbin/connmand --help')
20        msg = 'Failed to get connman help. Output: %s' % output
21        self.assertEqual(status, 0, msg=msg)
22
23    @OETestID(221)
24    @OETestDepends(['connman.ConnmanTest.test_connmand_help'])
25    def test_connmand_running(self):
26        cmd = '%s | grep [c]onnmand' % self.tc.target_cmds['ps']
27        (status, output) = self.target.run(cmd)
28        if status != 0:
29            self.logger.info(self.service_status("connman"))
30            self.fail("No connmand process running")
31