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-06 14:38:14 +0100
commitafedb883da3361e9c8a217d19ac48faa9ac36d78 (patch)
tree2e0ef313416bebe711a25613ee73b976243036c6
parent158575af9d0ab08a45eb307254bacc147e1e28ab (diff)
downloadpoky-afedb883da3361e9c8a217d19ac48faa9ac36d78.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: e8416554dfc9d4196543279a4845f6c0671f3e5c) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.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