blob: 331b771a1efc646ce1a47bd89e54db398beda627 [file] [log] [blame]
# -*- Python -*-
# Configuration file for the 'lit' test runner.
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))