summaryrefslogtreecommitdiffstats
path: root/scripts/lib/compatlayer/cases/bsp.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/lib/compatlayer/cases/bsp.py')
-rw-r--r--scripts/lib/compatlayer/cases/bsp.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/scripts/lib/compatlayer/cases/bsp.py b/scripts/lib/compatlayer/cases/bsp.py
index 90256750af..43efae406f 100644
--- a/scripts/lib/compatlayer/cases/bsp.py
+++ b/scripts/lib/compatlayer/cases/bsp.py
@@ -25,6 +25,32 @@ class BSPCompatLayer(OECompatLayerTestCase):
25 msg="Layer %s modified machine %s -> %s" % \ 25 msg="Layer %s modified machine %s -> %s" % \
26 (self.tc.layer['name'], self.td['bbvars']['MACHINE'], machine)) 26 (self.tc.layer['name'], self.td['bbvars']['MACHINE'], machine))
27 27
28
29 def test_machine_world(self):
30 '''
31 "bitbake world" is expected to work regardless which machine is selected.
32 BSP layers sometimes break that by enabling a recipe for a certain machine
33 without checking whether that recipe actually can be built in the current
34 distro configuration (for example, OpenGL might not enabled).
35
36 This test iterates over all machines. It would be nicer to instantiate
37 it once per machine. It merely checks for errors during parse
38 time. It does not actually attempt to build anything.
39 '''
40
41 if not self.td['machines']:
42 self.skipTest('No machines set with --machines.')
43 msg = []
44 for machine in self.td['machines']:
45 # In contrast to test_machine_signatures() below, errors are fatal here.
46 try:
47 get_signatures(self.td['builddir'], failsafe=False, machine=machine)
48 except RuntimeError as ex:
49 msg.append(str(ex))
50 if msg:
51 msg.insert(0, 'The following machines broke a world build:')
52 self.fail('\n'.join(msg))
53
28 def test_machine_signatures(self): 54 def test_machine_signatures(self):
29 ''' 55 '''
30 Selecting a machine may only affect the signature of tasks that are specific 56 Selecting a machine may only affect the signature of tasks that are specific