Allow multiple patterns in rblf_wildcard
This is to match the functionality of make's $(wildcard)
Bug: 201700692
Test: go test
Change-Id: Ib20c4a4aa9642a2d76b5da5c7accd60e6b91c8fc
diff --git a/core/product_config.rbc b/core/product_config.rbc
index 45eca9f..f26b428 100644
--- a/core/product_config.rbc
+++ b/core/product_config.rbc
@@ -533,7 +533,10 @@
def _expand_wildcard(pattern):
"""Expands shell wildcard pattern."""
- return rblf_wildcard(pattern)
+ result = []
+ for word in __words(pattern):
+ result.extend(rblf_wildcard(word))
+ return result
def _mkdist_for_goals(g, goal, src_dst_list):
"""Implements dist-for-goals macro."""
diff --git a/tests/run.rbc b/tests/run.rbc
index 53eda16..b82887f 100644
--- a/tests/run.rbc
+++ b/tests/run.rbc
@@ -59,6 +59,19 @@
assert_eq("", rblf.notdir("/"))
assert_eq("", rblf.notdir(""))
+assert_eq(
+ ["build/make/tests/board.rbc", "build/make/tests/board_input_vars.rbc"],
+ rblf.expand_wildcard("build/make/tests/board*.rbc")
+)
+assert_eq(
+ ["build/make/tests/run.rbc", "build/make/tests/product.rbc"],
+ rblf.expand_wildcard("build/make/tests/run.rbc build/make/tests/product.rbc")
+)
+assert_eq(
+ ["build/make/tests/run.rbc"],
+ rblf.expand_wildcard("build/make/tests/run.rbc build/make/tests/nonexistent.rbc")
+)
+
(globals, config, globals_base) = rblf.product_configuration("test/device", init, input_variables_init)
assert_eq(
{