]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
cookerdata/ast: Fail gracefully if event handler function is not found
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>
Tue, 30 Aug 2016 09:53:30 +0000 (12:53 +0300)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 2 Sep 2016 15:29:36 +0000 (16:29 +0100)
[YOCTO #10186]

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
lib/bb/cookerdata.py
lib/bb/parse/ast.py

index fa1de7a22f66a7fc8ce1938e91a3765ba056e1a5..bf9bfbf931c55d40eb00eb68368f207a5377713d 100644 (file)
@@ -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)
 
index d7185b1664d23c551e351bcf54fe71bbb8b30a59..fa83b189814063df7f70e9d2ced6d40214b5fc04 100644 (file)
@@ -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)