| # -*- Python -*- |
| |
| # Configuration file for the 'lit' test runner. |
| |
| import subprocess |
| import re |
| |
| # name: The name of this test suite. |
| config.name = 'libbcc' |
| |
| # suffixes: A list of file extensions to treat as test files. |
| config.suffixes = ['.ll'] |
| |
| # testFormat: The test format to use to interpret tests. |
| import lit.formats |
| config.test_format = lit.formats.ShTest() |
| |
| ANDROID_HOST_OUT = os.getenv("ANDROID_HOST_OUT") |
| ANDROID_PRODUCT_OUT = os.getenv("ANDROID_PRODUCT_OUT") |
| |
| if not ANDROID_HOST_OUT or not ANDROID_PRODUCT_OUT: |
| import sys |
| sys.exit(1) |
| |
| # test_source_root: The path where tests are located (default is the test suite |
| # root). |
| config.test_source_root = None |
| config.test_exec_root = os.path.join(ANDROID_HOST_OUT, 'tests', 'libbcc') |
| |
| tools_dir = os.pathsep.join([os.path.join(ANDROID_HOST_OUT, 'bin'), |
| os.path.join(ANDROID_HOST_OUT, 'lib64'), |
| os.path.join(ANDROID_PRODUCT_OUT, 'system/lib')]) |
| |
| # Based on LLVM's lit.cfg: "For each occurrence of an llvm tool name |
| # as its own word, replace it with the full path to the build directory |
| # holding that tool." |
| for pattern in [r"\bFileCheck\b", |
| r"\bllvm-rs-as\b", |
| r"\bbcinfo\b", |
| r"\bopt\b", |
| r"\blibbcc.so\b", |
| r"\bllvm-objdump\b", |
| r"\bbcc\b", |
| r"\blibclcore.bc\b"]: |
| tool_match = re.match(r"^(\\)?((\| )?)\W+b([\.0-9A-Za-z-_]+)\\b\W*$", |
| pattern) |
| tool_pipe = tool_match.group(2) |
| tool_name = tool_match.group(4) |
| import lit.util |
| tool_path = lit.util.which(tool_name, tools_dir) |
| if not tool_path: |
| lit_config.note("Did not find " + tool_name + " in " + tools_dir) |
| tool_path = os.path.join(tools_dir, tool_name) |
| config.substitutions.append((pattern, tool_pipe + tool_path)) |
| |
| # The following substitution is needed for the versioninfo tests |
| llvm_version_string = subprocess.check_output([ |
| lit.util.which('llvm-config', tools_dir), |
| '--version' |
| ]).strip() |
| config.substitutions.append(('%LLVM_VERSION_STRING', llvm_version_string)) |