diff options
author | Cole Faust <colefaust@google.com> | 2021-12-08 11:07:17 -0800 |
---|---|---|
committer | Cole Faust <colefaust@google.com> | 2021-12-08 17:52:40 -0800 |
commit | fdff6b1e9c268c64f45887a28a2a2af187d70d66 (patch) | |
tree | 5d887feb0f048f310b7ff824c55ae0717675f447 | |
parent | 1295bc51383913eddfa76fb2f9c6e22cac102a4b (diff) | |
download | build-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.rbc | 5 | ||||
-rw-r--r-- | tests/run.rbc | 13 |
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( { |