David Greene 6f1394ff86 [lit] Respect PYTHONPATH
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
2019-01-07 16:24:37 +00:00

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)))