[bitbake-devel] [PATCH 2/2] bb.tests.codeparser: add parameter expansion modifiers test

Christopher Larson kergoth at gmail.com
Fri Jan 18 16:45:55 UTC 2019


From: Christopher Larson <chris_larson at mentor.com>

We don't want references including shell parameter expansion modifiers
(i.e. `:-`, `#`, `%%`, etc) to be added to our vardeps, so add a test to
ensure this.

YOCTO #12987

Signed-off-by: Christopher Larson <chris_larson at mentor.com>
---
 lib/bb/tests/codeparser.py | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/lib/bb/tests/codeparser.py b/lib/bb/tests/codeparser.py
index e30e78c1..3fd76a8f 100644
--- a/lib/bb/tests/codeparser.py
+++ b/lib/bb/tests/codeparser.py
@@ -123,6 +123,13 @@ ${D}${libdir}/pkgconfig/*.pc
         self.parseExpression("sed -i -e 's:IP{:I${:g' $pc")
         self.assertExecs(set(["sed"]))
 
+    def test_parameter_expansion_modifiers(self):
+        # - and + are also valid modifiers for parameter expansion, but are
+        # valid characters in bitbake variable names, so are not included here
+        for i in ('=', ':-', ':=', '?', ':?', ':+', '#', '%', '##', '%%'):
+            name = "foo%sbar" % i
+            self.parseExpression("${%s}" % name)
+            self.assertNotIn(name, self.references)
 
     def test_until(self):
         self.parseExpression("until false; do echo true; done")
-- 
2.17.1



More information about the bitbake-devel mailing list