[Lldb-commits] [lldb] d9247cc - Revert "[lldb] Use shutil.which in Shell tests find_executable"

David Spickett via lldb-commits lldb-commits at lists.llvm.org
Fri Apr 29 04:03:34 PDT 2022


Author: David Spickett
Date: 2022-04-29T11:02:59Z
New Revision: d9247cc84825539d346c74eb1379c6cb948d3a71

URL: https://github.com/llvm/llvm-project/commit/d9247cc84825539d346c74eb1379c6cb948d3a71
DIFF: https://github.com/llvm/llvm-project/commit/d9247cc84825539d346c74eb1379c6cb948d3a71.diff

LOG: Revert "[lldb] Use shutil.which in Shell tests find_executable"

This reverts commit 713752610edd3d8766f56e2704bb7241434cd15b.

Some test output needs updating for Windows builders:
https://lab.llvm.org/buildbot/#/builders/83/builds/18356

Added: 
    

Modified: 
    lldb/test/Shell/helper/build.py

Removed: 
    


################################################################################
diff  --git a/lldb/test/Shell/helper/build.py b/lldb/test/Shell/helper/build.py
index 97d790661d5a..005f12bc09cf 100755
--- a/lldb/test/Shell/helper/build.py
+++ b/lldb/test/Shell/helper/build.py
@@ -4,7 +4,6 @@
 
 import argparse
 import os
-import shutil
 import signal
 import subprocess
 import sys
@@ -171,14 +170,16 @@ def print_environment(env):
         print('    {0} = {1}'.format(e, formatted_value))
 
 def find_executable(binary_name, search_paths):
-    # shutil.which will ignore PATH if given a path argument, we want to include it.
-    search_paths.append(os.environ.get('PATH', ''))
-    search_path = os.pathsep.join(search_paths)
-    binary_path = shutil.which(binary_name, path=search_path)
-    if binary_path is not None:
-        # So for example, we get '/bin/gcc' instead of '/usr/../bin/gcc'.
-        binary_path = os.path.normpath(binary_path)
-    return binary_path
+    if sys.platform == 'win32':
+        binary_name = binary_name + '.exe'
+
+    search_paths = os.pathsep.join(search_paths)
+    paths = search_paths + os.pathsep + os.environ.get('PATH', '')
+    for path in paths.split(os.pathsep):
+        p = os.path.join(path, binary_name)
+        if os.path.exists(p) and not os.path.isdir(p):
+            return os.path.normpath(p)
+    return None
 
 def find_toolchain(compiler, tools_dir):
     if compiler == 'msvc':


        


More information about the lldb-commits mailing list