[oe-commits] [bitbake] 07/18: cookerdata/ast: Fail gracefully if event handler function is not found

git at git.openembedded.org git at git.openembedded.org
Wed Aug 31 10:54:13 UTC 2016


rpurdie pushed a commit to branch master-next
in repository bitbake.

commit 5cbf027ec0075125a84ccb0daf4f6624b21b8566
Author: Markus Lehtonen <markus.lehtonen at linux.intel.com>
AuthorDate: Tue Aug 30 12:53:30 2016 +0300

    cookerdata/ast: Fail gracefully if event handler function is not found
    
    [YOCTO #10186]
    
    Signed-off-by: Markus Lehtonen <markus.lehtonen at linux.intel.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 lib/bb/cookerdata.py | 3 +++
 lib/bb/parse/ast.py  | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py
index fa1de7a..bf9bfbf 100644
--- a/lib/bb/cookerdata.py
+++ b/lib/bb/cookerdata.py
@@ -357,6 +357,9 @@ class CookerDataBuilder(object):
         # We register any handlers we've found so far here...
         for var in data.getVar('__BBHANDLERS', False) or []:
             handlerfn = data.getVarFlag(var, "filename", False)
+            if not handlerfn:
+                parselog.critical("Undefined event handler function '%s'" % var)
+                sys.exit(1)
             handlerln = int(data.getVarFlag(var, "lineno", False))
             bb.event.register(var, data.getVar(var, False),  (data.getVarFlag(var, "eventmask", True) or "").split(), handlerfn, handlerln)
 
diff --git a/lib/bb/parse/ast.py b/lib/bb/parse/ast.py
index d7185b1..fa83b18 100644
--- a/lib/bb/parse/ast.py
+++ b/lib/bb/parse/ast.py
@@ -344,6 +344,8 @@ def finalize(fn, d, variant = None):
     for var in d.getVar('__BBHANDLERS', False) or []:
         # try to add the handler
         handlerfn = d.getVarFlag(var, "filename", False)
+        if not handlerfn:
+            bb.fatal("Undefined event handler function '%s'" % var)
         handlerln = int(d.getVarFlag(var, "lineno", False))
         bb.event.register(var, d.getVar(var, False), (d.getVarFlag(var, "eventmask", True) or "").split(), handlerfn, handlerln)
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list