summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick Ohly <patrick.ohly@intel.com>2017-06-27 17:33:39 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-07-27 22:36:44 +0100
commit6d7302b53c6ceae1194611eba2ef48fc30f20e12 (patch)
tree320aa97dd21c3b422e9c52a2520c9420353c5e74
parent7546daec4fe30d0bd338aac5b8ac4a4add00f137 (diff)
downloadpoky-6d7302b53c6ceae1194611eba2ef48fc30f20e12.tar.gz
yocto-compat-layer.py: tolerate broken world builds during signature diff
The "test_signatures" test ignored a broken world build when getting signatures, but the code which then tried to analyze a difference found by the test didn't, which prevented printing the difference. (From OE-Core rev: f2190e7e81f86735510c6ab10d3ac781146113f9) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--scripts/lib/compatlayer/__init__.py7
-rw-r--r--scripts/lib/compatlayer/cases/common.py2
2 files changed, 7 insertions, 2 deletions
diff --git a/scripts/lib/compatlayer/__init__.py b/scripts/lib/compatlayer/__init__.py
index eaae4e534f..451e1de950 100644
--- a/scripts/lib/compatlayer/__init__.py
+++ b/scripts/lib/compatlayer/__init__.py
@@ -290,7 +290,7 @@ def get_signatures(builddir, failsafe=False, machine=None):
290 290
291 return (sigs, tune2tasks) 291 return (sigs, tune2tasks)
292 292
293def get_depgraph(targets=['world']): 293def get_depgraph(targets=['world'], failsafe=False):
294 ''' 294 '''
295 Returns the dependency graph for the given target(s). 295 Returns the dependency graph for the given target(s).
296 The dependency graph is taken directly from DepTreeEvent. 296 The dependency graph is taken directly from DepTreeEvent.
@@ -309,6 +309,11 @@ def get_depgraph(targets=['world']):
309 elif isinstance(event, bb.command.CommandCompleted): 309 elif isinstance(event, bb.command.CommandCompleted):
310 break 310 break
311 elif isinstance(event, bb.event.NoProvider): 311 elif isinstance(event, bb.event.NoProvider):
312 if failsafe:
313 # The event is informational, we will get information about the
314 # remaining dependencies eventually and thus can ignore this
315 # here like we do in get_signatures(), if desired.
316 continue
312 if event._reasons: 317 if event._reasons:
313 raise RuntimeError('Nothing provides %s: %s' % (event._item, event._reasons)) 318 raise RuntimeError('Nothing provides %s: %s' % (event._item, event._reasons))
314 else: 319 else:
diff --git a/scripts/lib/compatlayer/cases/common.py b/scripts/lib/compatlayer/cases/common.py
index 8eeada9b1e..2dfcbb1c32 100644
--- a/scripts/lib/compatlayer/cases/common.py
+++ b/scripts/lib/compatlayer/cases/common.py
@@ -50,7 +50,7 @@ class CommonCompatLayer(OECompatLayerTestCase):
50 def graph2sig(task): 50 def graph2sig(task):
51 pn, taskname = task.rsplit('.', 1) 51 pn, taskname = task.rsplit('.', 1)
52 return pn + ':' + taskname 52 return pn + ':' + taskname
53 depgraph = get_depgraph() 53 depgraph = get_depgraph(failsafe=True)
54 depends = depgraph['tdepends'] 54 depends = depgraph['tdepends']
55 55
56 # If a task A has a changed signature, but none of its 56 # If a task A has a changed signature, but none of its