summaryrefslogtreecommitdiffstats
path: root/meta-selftest/lib/oeqa/runtime/selftest.py
blob: a7e58ab3d52652fc399193f0ea2bc0da6e4ae9c7 (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
54
55
import os

from oeqa.oetest import oeRuntimeTest, skipModule
from oeqa.utils.commands import runCmd
from oeqa.utils.decorators import *

class Selftest(oeRuntimeTest):

    @skipUnlessPassed("test_ssh")
    @tag("selftest_package_install")
    def test_install_package(self):
        """
        Summary: Check basic package installation functionality.
        Expected: 1. Before the test socat must be installed using scp.
                  2. After the test socat must be unistalled using ssh.
                     This can't be checked in this test.
        Product: oe-core
        Author: Mariano Lopez <mariano.lopez@intel.com>
        """

        (status, output) = self.target.run("socat -V")
        self.assertEqual(status, 0, msg="socat is not installed")

    @skipUnlessPassed("test_install_package")
    @tag("selftest_package_install")
    def test_verify_unistall(self):
        """
        Summary: Check basic package installation functionality.
        Expected: 1. test_install_package must unistall socat.
                     This test is just to verify that.
        Product: oe-core
        Author: Mariano Lopez <mariano.lopez@intel.com>
        """

        (status, output) = self.target.run("socat -V")
        self.assertNotEqual(status, 0, msg="socat is still installed")

    @tag("selftest_sdk")
    def test_sdk(self):

        result = runCmd("env -0")
        sdk_path = search_sdk_path(result.output)
        self.assertTrue(sdk_path, msg="Can't find SDK path")

        tar_cmd = os.path.join(sdk_path, "tar")
        result = runCmd("%s --help" % tar_cmd)

def search_sdk_path(env):
    for line in env.split("\0"):
        (key, _, value) = line.partition("=")
        if key == "PATH":
            for path in value.split(":"):
                if "pokysdk" in path:
                    return path
    return ""