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

Commit fcae811f authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Correct abspath implementation" am: 9ec1a7aa

parents 188e38ec 9ec1a7aa
Loading
Loading
Loading
Loading
+19 −5
Original line number Diff line number Diff line
@@ -405,12 +405,26 @@ def _soong_config_get(g, nsname, var):
    """Gets to the value of the variable in the namespace."""
    return g.get(_soong_config_namespaces_key, {}).get(nsname, {}).get(var, None)


def _abspath(path):
def _abspath(paths):
    """Provided for compatibility, to be removed later."""
    if type(path) == "list":
        path = " ".join(path)
    return rblf_shell("realpath "+path)
    cwd = rblf_shell('pwd')
    results = []
    for path in __words(paths):
        if path[0] != "/":
            path = cwd + "/" + path

        resultparts = []
        for part in path.split('/'):
            if part == "." or part == "":
                continue
            elif part == "..":
                if resultparts:
                    resultparts.pop()
            else:
                resultparts.append(part)
        results.append("/" + "/".join(resultparts))

    return " ".join(results)


def _addprefix(prefix, string_or_list):
+8 −0
Original line number Diff line number Diff line
@@ -73,6 +73,14 @@ assert_eq("foo.c no_folder", rblf.notdir("src/foo.c no_folder"))
assert_eq("", rblf.notdir("/"))
assert_eq("", rblf.notdir(""))

cwd = rblf_shell('pwd')
assert_eq(cwd+"/foo/bar", rblf.abspath("foo/bar"))
assert_eq(cwd+"/bar", rblf.abspath("foo/.././bar"))
assert_eq(cwd+"/bar", rblf.abspath("foo/..////bar//"))
assert_eq("/foo/baz", rblf.abspath("/foo/bar/../baz"))
assert_eq(cwd+"/foo/bar "+cwd+"/foo/baz", rblf.abspath("foo/bar foo/baz"))
assert_eq("/baz", rblf.abspath("/../../../../../../../../../../../../../../../../baz"))

assert_eq(
    ["build/make/tests/board.rbc", "build/make/tests/board_input_vars.rbc"],
    rblf.expand_wildcard("build/make/tests/board*.rbc")