1*9880d681SAndroid Build Coastguard Worker# -*- Python -*- 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Workerimport os 4*9880d681SAndroid Build Coastguard Workerimport sys 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Workerimport lit.formats 7*9880d681SAndroid Build Coastguard Worker 8*9880d681SAndroid Build Coastguard Worker# Configuration file for the 'lit' test runner. 9*9880d681SAndroid Build Coastguard Worker 10*9880d681SAndroid Build Coastguard Worker# name: The name of this test suite. 11*9880d681SAndroid Build Coastguard Workerconfig.name = 'lit' 12*9880d681SAndroid Build Coastguard Worker 13*9880d681SAndroid Build Coastguard Worker# testFormat: The test format to use to interpret tests. 14*9880d681SAndroid Build Coastguard Workerconfig.test_format = lit.formats.ShTest(execute_external=False) 15*9880d681SAndroid Build Coastguard Worker 16*9880d681SAndroid Build Coastguard Worker# suffixes: A list of file extensions to treat as test files. 17*9880d681SAndroid Build Coastguard Workerconfig.suffixes = ['.py'] 18*9880d681SAndroid Build Coastguard Worker 19*9880d681SAndroid Build Coastguard Worker# excludes: A list of individual files to exclude. 20*9880d681SAndroid Build Coastguard Workerconfig.excludes = ['Inputs'] 21*9880d681SAndroid Build Coastguard Worker 22*9880d681SAndroid Build Coastguard Worker# test_source_root: The root path where tests are located. 23*9880d681SAndroid Build Coastguard Workerconfig.test_source_root = os.path.dirname(__file__) 24*9880d681SAndroid Build Coastguard Workerconfig.test_exec_root = config.test_source_root 25*9880d681SAndroid Build Coastguard Worker 26*9880d681SAndroid Build Coastguard Workerconfig.target_triple = '(unused)' 27*9880d681SAndroid Build Coastguard Worker 28*9880d681SAndroid Build Coastguard Workersrc_root = os.path.join(config.test_source_root, '..') 29*9880d681SAndroid Build Coastguard Workerconfig.environment['PYTHONPATH'] = src_root 30*9880d681SAndroid Build Coastguard Workerconfig.substitutions.append(('%{src_root}', src_root)) 31*9880d681SAndroid Build Coastguard Workerconfig.substitutions.append(('%{inputs}', os.path.join( 32*9880d681SAndroid Build Coastguard Worker src_root, 'tests', 'Inputs'))) 33*9880d681SAndroid Build Coastguard Workerconfig.substitutions.append(('%{lit}', "%%{python} %s" % ( 34*9880d681SAndroid Build Coastguard Worker os.path.join(src_root, 'lit.py'),))) 35*9880d681SAndroid Build Coastguard Workerconfig.substitutions.append(('%{python}', sys.executable)) 36*9880d681SAndroid Build Coastguard Worker 37*9880d681SAndroid Build Coastguard Worker# Enable coverage.py reporting, assuming the coverage module has been installed 38*9880d681SAndroid Build Coastguard Worker# and sitecustomize.py in the virtualenv has been modified appropriately. 39*9880d681SAndroid Build Coastguard Workerif lit_config.params.get('check-coverage', None): 40*9880d681SAndroid Build Coastguard Worker config.environment['COVERAGE_PROCESS_START'] = os.path.join( 41*9880d681SAndroid Build Coastguard Worker os.path.dirname(__file__), ".coveragerc") 42*9880d681SAndroid Build Coastguard Worker 43*9880d681SAndroid Build Coastguard Worker# Add a feature to detect the Python version. 44*9880d681SAndroid Build Coastguard Workerconfig.available_features.add("python%d.%d" % (sys.version_info[0], 45*9880d681SAndroid Build Coastguard Worker sys.version_info[1])) 46*9880d681SAndroid Build Coastguard Worker 47*9880d681SAndroid Build Coastguard Worker# Add a feature to detect if psutil is available 48*9880d681SAndroid Build Coastguard Workertry: 49*9880d681SAndroid Build Coastguard Worker import psutil 50*9880d681SAndroid Build Coastguard Worker lit_config.note('Found python psutil module') 51*9880d681SAndroid Build Coastguard Worker config.available_features.add("python-psutil") 52*9880d681SAndroid Build Coastguard Workerexcept ImportError: 53*9880d681SAndroid Build Coastguard Worker lit_config.warning('Could not import psutil. Some tests will be skipped and' 54*9880d681SAndroid Build Coastguard Worker ' the --timeout command line argument will not work.') 55