
If a user has PYTHONPATH set in the environment, append new entries to it rather than blindly setting PYTHONPATH to a fixed string. This allows tests to, for example, find psutil if it is in PYTHONPATH. Without this change, lit will detect psutil but then various tests will fail because PYTHONPATH has been overwritten and psutil cannot be found. llvm-svn: 350536
41 lines
1.2 KiB
Python
41 lines
1.2 KiB
Python
# -*- Python -*-
|
|
import os
|
|
import sys
|
|
|
|
import lit.formats
|
|
|
|
config.name = 'per_test_timeout'
|
|
|
|
shellType = lit_config.params.get('external', '1')
|
|
|
|
if shellType == '0':
|
|
lit_config.note('Using internal shell')
|
|
externalShell = False
|
|
else:
|
|
lit_config.note('Using external shell')
|
|
externalShell = True
|
|
|
|
configSetTimeout = lit_config.params.get('set_timeout', '0')
|
|
|
|
if configSetTimeout != '0':
|
|
# Try setting the max individual test time in the configuration
|
|
lit_config.maxIndividualTestTime = int(configSetTimeout)
|
|
|
|
config.test_format = lit.formats.ShTest(execute_external=externalShell)
|
|
config.suffixes = ['.py']
|
|
|
|
config.test_source_root = os.path.dirname(__file__)
|
|
config.test_exec_root = config.test_source_root
|
|
config.target_triple = '(unused)'
|
|
src_root = os.path.join(config.test_source_root, '..')
|
|
|
|
pythonpath_list = [src_root]
|
|
# Ensure the user's PYTHONPATH is included.
|
|
if 'PYTHONPATH' in os.environ:
|
|
pythonpath_list.append(os.environ['PYTHONPATH'])
|
|
if 'PYTHONPATH' in config.environment:
|
|
pythonpath_list.append(config.environment['PYTHONPATH'])
|
|
config.environment['PYTHONPATH'] = os.pathsep.join(pythonpath_list)
|
|
|
|
config.substitutions.append(('%{python}', '"%s"' % (sys.executable)))
|