diff options
author | Sasha Smundak <asmundak@google.com> | 2021-08-26 09:42:55 -0700 |
---|---|---|
committer | Sasha Smundak <asmundak@google.com> | 2021-08-26 13:43:03 -0700 |
commit | f00e35ecae062be5bfa4fc9dc8cf4ed3b503bed1 (patch) | |
tree | 8fd6cce081e7bd9eac1b70285b05f80509f8ab73 | |
parent | ee20ae1a8dcdfe7b843d65099000708800d9b93a (diff) | |
download | platform_build-f00e35ecae062be5bfa4fc9dc8cf4ed3b503bed1.tar.gz platform_build-f00e35ecae062be5bfa4fc9dc8cf4ed3b503bed1.tar.bz2 platform_build-f00e35ecae062be5bfa4fc9dc8cf4ed3b503bed1.zip |
If filter/filter_out pattern is a list, remove empty elements from it.
Also, fix __mk2regex bug: the returned pattern should end with $.
Bug: 193540681
Test: internal
Change-Id: Ia56856826c6b05ccf857ae5ab7a70609bf4f1e1d
Change-Id: Ie2a9bf62ee48824ce7cd5fe9e9ec2f55311473e3
-rw-r--r-- | core/product_config.rbc | 2 | ||||
-rw-r--r-- | tests/run.rbc | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/core/product_config.rbc b/core/product_config.rbc index ef0d0c9f7e..8fbcfa5782 100644 --- a/core/product_config.rbc +++ b/core/product_config.rbc @@ -439,7 +439,7 @@ def __mk2regex(words): """Returns regular expression equivalent to Make pattern.""" # TODO(asmundak): this will mishandle '\%' - return "^(" + "|".join([w.replace("%", ".*", 1) for w in words]) + ")" + return "^(" + "|".join([w.replace("%", ".*", 1) for w in words if w]) + ")$" def _regex_match(regex, w): return rblf_regex(regex, w) diff --git a/tests/run.rbc b/tests/run.rbc index 4d7166a29a..2c15b8105c 100644 --- a/tests/run.rbc +++ b/tests/run.rbc @@ -47,6 +47,9 @@ assert_eq(["%/foo"], rblf.mkpatsubst("%", "\\%/%", ["foo"])) assert_eq(["foo/%"], rblf.mkpatsubst("%", "%/%", ["foo"])) assert_eq(["from/a:to/a", "from/b:to/b"], rblf.product_copy_files_by_pattern("from/%", "to/%", "a b")) +assert_eq([], rblf.filter(["a", "", "b"], "f")) +assert_eq(["", "b"], rblf.filter_out(["a", "" ], ["a", "", "b"] )) + globals, config = rblf.product_configuration("test/device", init) assert_eq( { |