import lit.formats
import os
import sys

config.name = 'llgo'
config.suffixes = ['.go', '.test']
config.test_format = lit.formats.ShTest()
config.test_source_root = config.llvm_src_root + '/tools/llgo/test'
config.test_exec_root = config.llvm_obj_root + '/tools/llgo/test'
config.excludes = ['Inputs']

config.substitutions.append((r"\bllgo\b", config.llvm_obj_root + '/bin/llgo -static-libgo'))
config.substitutions.append((r"\bllgoi\b", config.llvm_obj_root + '/bin/llgoi'))
config.substitutions.append((r"\bFileCheck\b", config.llvm_obj_root + '/bin/FileCheck'))
config.substitutions.append((r"\bcount\b", config.llvm_obj_root + '/bin/count'))
config.substitutions.append((r"\bnot\b", config.llvm_obj_root + '/bin/not'))
