aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCole Faust <colefaust@google.com>2021-12-08 11:07:17 -0800
committerCole Faust <colefaust@google.com>2021-12-08 17:52:40 -0800
commitfdff6b1e9c268c64f45887a28a2a2af187d70d66 (patch)
tree5d887feb0f048f310b7ff824c55ae0717675f447
parent1295bc51383913eddfa76fb2f9c6e22cac102a4b (diff)
downloadbuild-fdff6b1e9c268c64f45887a28a2a2af187d70d66.tar.gz
Allow multiple patterns in rblf_wildcard
This is to match the functionality of make's $(wildcard) Bug: 201700692 Test: go test Change-Id: Ib20c4a4aa9642a2d76b5da5c7accd60e6b91c8fc
-rw-r--r--core/product_config.rbc5
-rw-r--r--tests/run.rbc13
2 files changed, 17 insertions, 1 deletions
diff --git a/core/product_config.rbc b/core/product_config.rbc
index 45eca9f567..f26b428cd3 100644
--- a/core/product_config.rbc
+++ b/core/product_config.rbc
@@ -533,7 +533,10 @@ def _require_artifacts_in_path_relaxed(paths, allowed_paths):
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 53eda160df..b82887f003 100644
--- a/tests/run.rbc
+++ b/tests/run.rbc
@@ -59,6 +59,19 @@ assert_eq("foo.c no_folder", rblf.notdir("src/foo.c no_folder"))
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(
{