[lldb] Suppport testing with debug-python on Windows (#140443)
When trying to run the LLDB API tests on Windows with a debug
configuration, they fail, because the `_lldb` module won't be found. As
explained in https://github.com/llvm/llvm-project/issues/51272, this is
because lit will run the test with `python.exe` but the module is built
for the debug version of python, `python_d.exe`.
CMake already resolved the debug executable in
`Python3_EXECUTABLE_DEBUG`, so this PR changes the
`config.python_executable` to point to `python_d.exe` on Windows in
debug mode.
The check is equivalent to the one done in the top-level LLDB CMakeLists
[when setting the python
suffix](3ccb15d6ca/lldb/CMakeLists.txt (L79-L86)).
This commit is contained in:
@@ -139,6 +139,12 @@ if(CMAKE_HOST_APPLE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(WIN32 AND CMAKE_BUILD_TYPE STREQUAL Debug)
|
||||
set(LLDB_PYTHON_API_TEST_EXECUTABLE "${Python3_EXECUTABLE_DEBUG}")
|
||||
else()
|
||||
set(LLDB_PYTHON_API_TEST_EXECUTABLE "${Python3_EXECUTABLE}")
|
||||
endif()
|
||||
|
||||
set(dotest_args_replacement ${LLVM_BUILD_MODE})
|
||||
|
||||
if(LLDB_BUILT_STANDALONE)
|
||||
|
||||
@@ -19,7 +19,7 @@ config.shared_libs = @LLVM_ENABLE_SHARED_LIBS@
|
||||
config.llvm_use_sanitizer = "@LLVM_USE_SANITIZER@"
|
||||
config.target_triple = "@LLVM_TARGET_TRIPLE@"
|
||||
config.lldb_build_directory = "@LLDB_TEST_BUILD_DIRECTORY@"
|
||||
config.python_executable = "@Python3_EXECUTABLE@"
|
||||
config.python_executable = "@LLDB_PYTHON_API_TEST_EXECUTABLE@"
|
||||
config.lua_executable = "@LUA_EXECUTABLE@"
|
||||
config.lldb_lua_cpath = "@LLDB_LUA_CPATH@"
|
||||
config.lua_test_entry = "TestLuaAPI.py"
|
||||
|
||||
Reference in New Issue
Block a user