def METHOD_NAME(suites, fin, fex, tin, tex, section, is_exclude=False):
    path = os.path.dirname(__file__)
    path = os.path.join(path, '..', "reporting", "suites")
    errs, lines, args, sin, sex = [], [], [], [], []
    for suite in suites:
        if not suite:
            continue
        fname = os.path.join(os.path.abspath(path), suite)
        if not os.path.exists(fname):
            errs.append("Suite File {} is not found".format(fname))
            continue
        lines.extend(utils.read_lines(fname))
    if errs:
        print("Failed to find suite files")
        print("\n".join(errs))
        utils.abort_run(9)
    for line in lines:
        if not line or line.startswith("#"):
            continue
        if line.startswith("+tree:"):
            for file in utils.list_files(line[6:].strip(), "test_*.py"):
                utils.list_append(fin, file)
        elif line.startswith("-tree:"):
            for file in utils.list_files(line[6:].strip(), "test_*.py"):
                utils.list_append(fex, file)
        elif line.startswith("+dir:"):
            for file in utils.list_files(line[5:].strip(), "test_*.py", False):
                utils.list_append(fin, file)
        elif line.startswith("-dir:"):
            for file in utils.list_files(line[5:].strip(), "test_*.py", False):
                utils.list_append(fex, file)
        elif line.startswith("+suite:"):
            utils.list_append(sin, line[7:].strip())
        elif line.startswith("-suite:"):
            if not is_exclude:
                utils.list_append(sex, line[7:].strip())
        elif line.startswith("+file:"):
            utils.list_append(fin, line[6:].strip())
        elif line.startswith("-file:"):
            if not is_exclude:
                utils.list_append(fex, line[6:].strip())
        elif line.startswith("+test:"):
            utils.list_append(tin, line[6:].strip())
        elif line.startswith("-test:"):
            if not is_exclude:
                utils.list_append(tex, line[6:].strip())
        elif line.startswith("+tclist:"):
            for test in utils.read_lines(line[8:].strip()):
                utils.list_append(tin, test)
        elif line.startswith("-tclist:"):
            for test in utils.read_lines(line[8:].strip()):
                if not is_exclude:
                    utils.list_append(tex, test)
        elif line.startswith("+args:"):
            args.extend(line[6:].strip().split())
    if sin:
        METHOD_NAME(sin, fin, fex, tin, tex, section, False)
    if sex:
        METHOD_NAME(sex, fex, fin, tex, tin, section, True)
    return fin, fex, tin, tex, args