summaryrefslogtreecommitdiffstats
path: root/lib/bb/cooker.py
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2014-03-26 15:07:59 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-03-26 16:03:16 +0000
commit32e171bcc92c6e27fefee971e8714ddf8e1a8ac1 (patch)
treeb615654574ef5b6e6af08bda3459aef473d3f30f /lib/bb/cooker.py
parentef8537a2e9b48f4fe065a165c102935aee2c9029 (diff)
downloadbitbake-contrib-32e171bcc92c6e27fefee971e8714ddf8e1a8ac1.tar.gz
cooker/event: Overhaul sanity test mechanism
Sanity tests are currently a pain as its hard to control when they run. This results in issues where for example the bitbake -e output is not useful as the sanity tests prevent it from executing. The sanity tests should run later than the base configuration. This patch changes the sanity tests to always be event triggered with the option of returning either events on the status, or raising errors. A new cooker feature is used to change the behaviour depending on the controlling UI. This does need a change to sanity.bbclass in the OE metadata but its worth the pain for the increased flexibility and control this offers UIs and the improvement to the user experience. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib/bb/cooker.py')
-rw-r--r--lib/bb/cooker.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py
index e4cff3a23..e81d88726 100644
--- a/lib/bb/cooker.py
+++ b/lib/bb/cooker.py
@@ -82,7 +82,7 @@ class SkippedPackage:
class CookerFeatures(object):
- _feature_list = [HOB_EXTRA_CACHES, SEND_DEPENDS_TREE, BASEDATASTORE_TRACKING] = range(3)
+ _feature_list = [HOB_EXTRA_CACHES, SEND_DEPENDS_TREE, BASEDATASTORE_TRACKING, SEND_SANITYEVENTS] = range(4)
def __init__(self):
self._features=set()
@@ -1268,6 +1268,8 @@ class BBCooker:
if self.state != state.parsing:
self.parseConfiguration ()
+ if CookerFeatures.SEND_SANITYEVENTS in self.featureset:
+ bb.event.fire(bb.event.SanityCheck(False), self.data)
ignore = self.data.getVar("ASSUME_PROVIDED", True) or ""
self.recipecache.ignored_dependencies = set(ignore.split())