Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f00e35ec authored by Sasha Smundak's avatar Sasha Smundak
Browse files

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
parent ee20ae1a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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)
+3 −0
Original line number Diff line number Diff line
@@ -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(
    {