1*03ce13f7SAndroid Build Coastguard Workerimport os 2*03ce13f7SAndroid Build Coastguard Workerimport re 3*03ce13f7SAndroid Build Coastguard Workerimport lit.formats 4*03ce13f7SAndroid Build Coastguard Worker 5*03ce13f7SAndroid Build Coastguard Workerconfig.name = 'subzero_crosstests' 6*03ce13f7SAndroid Build Coastguard Workerconfig.test_format = lit.formats.ShTest() 7*03ce13f7SAndroid Build Coastguard Workerconfig.suffixes = ['.xtest'] 8*03ce13f7SAndroid Build Coastguard Workerconfig.test_source_root = os.path.dirname(__file__) 9*03ce13f7SAndroid Build Coastguard Workerconfig.test_exec_root = config.test_source_root 10*03ce13f7SAndroid Build Coastguard Worker 11*03ce13f7SAndroid Build Coastguard Workerpnaclbintools = [r"\bFileCheck\b"] 12*03ce13f7SAndroid Build Coastguard Workerpnaclbinpath = os.path.abspath(os.environ.get('PNACL_BIN_PATH')) 13*03ce13f7SAndroid Build Coastguard Worker 14*03ce13f7SAndroid Build Coastguard Workerfor tool in pnaclbintools: 15*03ce13f7SAndroid Build Coastguard Worker # The re.sub() line is adapted from one of LLVM's lit.cfg files. 16*03ce13f7SAndroid Build Coastguard Worker # Extract the tool name from the pattern. This relies on the tool 17*03ce13f7SAndroid Build Coastguard Worker # name being surrounded by \b word match operators. If the 18*03ce13f7SAndroid Build Coastguard Worker # pattern starts with "| ", include it in the string to be 19*03ce13f7SAndroid Build Coastguard Worker # substituted. 20*03ce13f7SAndroid Build Coastguard Worker substitution = re.sub(r"^(\\)?((\| )?)\W+b([0-9A-Za-z-_]+)\\b\W*$", 21*03ce13f7SAndroid Build Coastguard Worker r"\2" + pnaclbinpath + "/" + r"\4", 22*03ce13f7SAndroid Build Coastguard Worker tool) 23*03ce13f7SAndroid Build Coastguard Worker config.substitutions.append((tool, substitution)) 24