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

Commit 9afdb1c9 authored by Sasha Smundak's avatar Sasha Smundak
Browse files

Add mksubst

Bug: 181797530
Test: rbcrun build/make/tests/run.rbc
Change-Id: I196c69259b830b6466430f6c933afb49fa787948
parent 37557784
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -450,6 +450,17 @@ def _mkstrip(s):
        was_space = is_space
    return result

def _mksubst(old, new, s):
    """Emulates Make's subst.

    Replaces each occurence of 'old' with 'new'.
    If 's' is a list, applies substitution to each item.
    """
    if type(s) == "list":
        return [e.replace(old, new) for e in s]
    return s.replace(old, new)


def __get_options():
    """Returns struct containing runtime global settings."""
    settings = dict(
@@ -498,6 +509,7 @@ rblf = struct(
    mkerror = _mkerror,
    mkwarning = _mkwarning,
    mkstrip = _mkstrip,
    mksubst = _mksubst,
    printvars = _printvars,
    product_configuration = _product_configuration,
    require_artifacts_in_path = _require_artifacts_in_path,
+3 −0
Original line number Diff line number Diff line
@@ -31,6 +31,9 @@ def assert_eq(expected, actual):
assert_eq("", rblf.mkstrip(" \n \t    "))
assert_eq("a b c", rblf.mkstrip("  a b   \n  c \t"))

assert_eq("b1 b2", rblf.mksubst("a", "b", "a1 a2"))
assert_eq(["b1", "x2"], rblf.mksubst("a", "b", ["a1", "x2"]))

globals, config = rblf.product_configuration("test/device", init)
assert_eq(
    {