summaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/runtime/connman.py
blob: b04040016f31bcb1ede8522564fd271887e93442 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import unittest
from oeqa.oetest import oeRuntimeTest, skipModule
from oeqa.utils.decorators import *

def setUpModule():
    if not oeRuntimeTest.hasPackage("connman"):
        skipModule("No connman package in image")


class ConnmanTest(oeRuntimeTest):

    def service_status(self, service):
        if oeRuntimeTest.hasFeature("systemd"):
            (status, output) = self.target.run('systemctl status -l %s' % service)
            return output
        else:
            return "Unable to get status or logs for %s" % service

    @skipUnlessPassed('test_ssh')
    def test_connmand_help(self):
        (status, output) = self.target.run('/usr/sbin/connmand --help')
        self.assertEqual(status, 0, msg="status and output: %s and %s" % (status,output))

    @testcase(221)
    @skipUnlessPassed('test_connmand_help')
    def test_connmand_running(self):
        (status, output) = self.target.run(oeRuntimeTest.pscmd + ' | grep [c]onnmand')
        if status != 0:
            print self.service_status("connman")
            self.fail("No connmand process running")

    @testcase(223)
    def test_only_one_connmand_in_background(self):
        """
        Summary:     Only one connmand in background
        Expected:    There will be only one connmand instance in background.
        Product:     BSPs
        Author:      Alexandru Georgescu <alexandru.c.georgescu@intel.com>
        AutomatedBy: Daniel Istrate <daniel.alexandrux.istrate@intel.com>
        """

        # Make sure that 'connmand' is running in background
        (status, output) = self.target.run(oeRuntimeTest.pscmd + ' | grep [c]onnmand')
        self.assertEqual(0, status, 'Failed to find "connmand" process running in background.')

        # Start a new instance of 'connmand'
        (status, output) = self.target.run('connmand')
        self.assertEqual(0, status, 'Failed to start a new "connmand" process.')

        # Make sure that only one 'connmand' is running in background
        (status, output) = self.target.run(oeRuntimeTest.pscmd + ' | grep [c]onnmand | wc -l')
        self.assertEqual(0, status, 'Failed to find "connmand" process running in background.')
        self.assertEqual(1, int(output), 'Found {} connmand processes running, expected 1.'.format(output))