xref: /OK3568_Linux_fs/yocto/poky/scripts/lib/checklayer/cases/distro.py (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# Copyright (C) 2017 Intel Corporation
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# SPDX-License-Identifier: MIT
4*4882a593Smuzhiyun#
5*4882a593Smuzhiyun
6*4882a593Smuzhiyunimport unittest
7*4882a593Smuzhiyun
8*4882a593Smuzhiyunfrom checklayer import LayerType
9*4882a593Smuzhiyunfrom checklayer.case import OECheckLayerTestCase
10*4882a593Smuzhiyun
11*4882a593Smuzhiyunclass DistroCheckLayer(OECheckLayerTestCase):
12*4882a593Smuzhiyun    @classmethod
13*4882a593Smuzhiyun    def setUpClass(self):
14*4882a593Smuzhiyun        if self.tc.layer['type'] not in (LayerType.DISTRO, LayerType.CORE):
15*4882a593Smuzhiyun            raise unittest.SkipTest("DistroCheckLayer: Layer %s isn't Distro one." %\
16*4882a593Smuzhiyun                self.tc.layer['name'])
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun    def test_distro_defines_distros(self):
19*4882a593Smuzhiyun        self.assertTrue(self.tc.layer['conf']['distros'],
20*4882a593Smuzhiyun                "Layer is BSP but doesn't defines machines.")
21*4882a593Smuzhiyun
22*4882a593Smuzhiyun    def test_distro_no_set_distros(self):
23*4882a593Smuzhiyun        from oeqa.utils.commands import get_bb_var
24*4882a593Smuzhiyun
25*4882a593Smuzhiyun        distro = get_bb_var('DISTRO')
26*4882a593Smuzhiyun        self.assertEqual(self.td['bbvars']['DISTRO'], distro,
27*4882a593Smuzhiyun                msg="Layer %s modified distro %s -> %s" % \
28*4882a593Smuzhiyun                    (self.tc.layer['name'], self.td['bbvars']['DISTRO'], distro))
29