[llvm] r350536 - [lit] Respect PYTHONPATH

David Greene via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 7 08:24:37 PST 2019


Author: greened
Date: Mon Jan  7 08:24:37 2019
New Revision: 350536

URL: http://llvm.org/viewvc/llvm-project?rev=350536&view=rev
Log:
[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.


Modified:
    llvm/trunk/utils/lit/tests/Inputs/shtest-timeout/lit.cfg
    llvm/trunk/utils/lit/tests/lit.cfg

Modified: llvm/trunk/utils/lit/tests/Inputs/shtest-timeout/lit.cfg
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/lit/tests/Inputs/shtest-timeout/lit.cfg?rev=350536&r1=350535&r2=350536&view=diff
==============================================================================
--- llvm/trunk/utils/lit/tests/Inputs/shtest-timeout/lit.cfg (original)
+++ llvm/trunk/utils/lit/tests/Inputs/shtest-timeout/lit.cfg Mon Jan  7 08:24:37 2019
@@ -28,5 +28,13 @@ config.test_source_root = os.path.dirnam
 config.test_exec_root = config.test_source_root
 config.target_triple = '(unused)'
 src_root = os.path.join(config.test_source_root, '..')
-config.environment['PYTHONPATH'] = src_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)))

Modified: llvm/trunk/utils/lit/tests/lit.cfg
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/lit/tests/lit.cfg?rev=350536&r1=350535&r2=350536&view=diff
==============================================================================
--- llvm/trunk/utils/lit/tests/lit.cfg (original)
+++ llvm/trunk/utils/lit/tests/lit.cfg Mon Jan  7 08:24:37 2019
@@ -34,7 +34,15 @@ if llvm_src_root != None:
 else:
   lit_path = src_root
 
-config.environment['PYTHONPATH'] = lit_path # Required because some tests import the lit module
+pythonpath_list = [lit_path] # Required because some tests import the lit module
+
+# 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(('%{src_root}', src_root))
 config.substitutions.append(('%{inputs}', os.path.join(
             src_root, 'tests', 'Inputs')))




More information about the llvm-commits mailing list