From: Richard Purdie Date: Fri, 28 Feb 2014 17:38:15 +0000 (+0000) Subject: codeparser: Fix var_execs to append to execs, not references X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8a24f2d3b735bbc59ca4a09670cabbadb1868c1a;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git codeparser: Fix var_execs to append to execs, not references When using the "execs" information in new code, it became clear that the returned data was incorrect and there were missing exec'd functions. This corrects the error and changes one of the test results to match the correct behaviour. Signed-off-by: Richard Purdie --- diff --git a/lib/bb/codeparser.py b/lib/bb/codeparser.py index 62b6cf9e3ab..a50b9f268a0 100644 --- a/lib/bb/codeparser.py +++ b/lib/bb/codeparser.py @@ -186,7 +186,7 @@ class PythonParser(): if n.__class__.__name__ == "Call": self.visit_Call(n) - self.references.update(self.var_execs) + self.execs.update(self.var_execs) codeparsercache.pythoncacheextras[h] = {} codeparsercache.pythoncacheextras[h]["refs"] = self.references diff --git a/lib/bb/tests/codeparser.py b/lib/bb/tests/codeparser.py index 938b04b2c60..4454bc51edb 100644 --- a/lib/bb/tests/codeparser.py +++ b/lib/bb/tests/codeparser.py @@ -236,7 +236,8 @@ be. These unit tests are testing snippets.""" self.d.setVar("do_something", "echo 'hi mom! ${FOO}'") self.d.setVarFlag("do_something", etype, True) self.parseExpression("bb.build.exec_func('do_something', d)") - self.assertReferences(set(["do_something"])) + self.assertReferences(set([])) + self.assertExecs(set(["do_something"])) def test_function_reference(self): self.context["testfunc"] = lambda msg: bb.msg.note(1, None, msg)