def METHOD_NAME(file):
    with open(file) as f:
        text = f.read()
    match_local = list(
        re.finditer(
            r"(#ifndef [A-Za-z0-9_]*\n#define [A-Za-z0-9_]*.*)\n((:?.|\n)+?)#endif",
            text,
        )
    )
    match_global = re.search(
        r"#ifndef (.*)\n#define \1.*\n[\s\S]+#endif[A-Za-z0-9\-_/* ]*$", text
    )
    valid_global = True
    valid_local = True
    errbuf = ""
    if match_global is not None and len(match_local) <= 1:
        valid_global = False
        errbuf += "This looks like a file-spanning include guard\n"
        errbuf += "This is discouraged as per [ACTS-450]"
        errbuf += "(https://its.cern.ch/jira/browse/ACTS-450)" + "\n" * 2
        start = text[: match_global.start()].count("\n") + 1
        errbuf += code_print(match_global.group(0), start)
        errbuf += "\n" * 2
    if valid_global or len(match_local) > 1:
        for m in match_local:
            lineno = text[: m.start()].count("\n") + 1
            valid_local = False
            errbuf += "This looks like a local #ifndef / include-guard\n"
            errbuf += "This is discouraged as per [ACTS-450]"
            errbuf += "(https://its.cern.ch/jira/browse/ACTS-450)" + "\n" * 2
            errbuf += code_print(m.group(0), lineno)
            errbuf += "\n" * 2
    return valid_local, valid_global, errbuf