1 # -*- Python -*- 2 3 # Configuration file for the 'lit' test runner. 4 5 # name: The name of this test suite. 6 config.name = 'Clang' 7 8 # testFormat: The test format to use to interpret tests. 9 # 10 # For now we require '&&' between commands, until they get globally killed and 11 # the test runner updated. 12 config.test_format = lit.formats.ShTest(execute_external = True) 13 14 # suffixes: A list of file extensions to treat as test files. 15 config.suffixes = ['.c', '.cpp', '.m', '.mm'] 16 17 # target_triple: Used by ShTest and TclTest formats for XFAIL checks. 18 config.target_triple = 'foo' 19 20 ### 21 22 # Discover the 'clang' and 'clangcc' to use. 23 24 import os 25 26 def inferClang(PATH): 27 # Determine which clang to use. 28 clang = os.getenv('CLANG') 29 30 # If the user set clang in the environment, definitely use that and don't 31 # try to validate. 32 if clang: 33 return clang 34 35 # Otherwise look in the path. 36 clang = lit.util.which('clang', PATH) 37 38 if not clang: 39 lit.fatal("couldn't find 'clang' program, try setting " 40 "CLANG in your environment") 41 42 return clang 43 44 clang = inferClang(config.environment['PATH']) 45 if not lit.quiet: 46 lit.note('using clang: %r' % clang) 47 config.substitutions.append( (' clang ', ' ' + clang + ' ') ) 48