beanz created this revision.
beanz added reviewers: tfiala, zturner.
beanz added a subscriber: lldb-commits.
The test suite calls realpath on the lldb executable then append "-mi" to it to
find the path of the lldb-mi executable. This does not work when using CMake
builds on *nix platforms. On *nix platforms when a version number is set on
executables CMake generates the binary as ${name}-${version} with a symlink
named ${name} pointing to it.
This results in the lldb executable being named lldb-4.0.0, and since
lldb-4.0.0-mi doesn't ever match the lldb-mi executable these tests are always
disabled.
This patch looks for lldb-mi in the same directory as lldb.
https://reviews.llvm.org/D25486
Files:
packages/Python/lldbsuite/test/dotest.py
Index: packages/Python/lldbsuite/test/dotest.py
===================================================================
--- packages/Python/lldbsuite/test/dotest.py
+++ packages/Python/lldbsuite/test/dotest.py
@@ -673,16 +673,15 @@
# Assume lldb-mi is in same place as lldb
# If not found, disable the lldb-mi tests
- lldbMiExec = None
- if lldbtest_config.lldbExec and is_exe(lldbtest_config.lldbExec + "-mi"):
- lldbMiExec = lldbtest_config.lldbExec + "-mi"
- if not lldbMiExec:
+ lldbDir = os.path.dirname(lldbtest_config.lldbExec)
+ lldbMiExec = os.path.join(lldbDir, "lldb-mi")
+ if is_exe(lldbMiExec):
+ os.environ["LLDBMI_EXEC"] = lldbMiExec
+ else:
if not configuration.shouldSkipBecauseOfCategories(["lldb-mi"]):
print(
"The 'lldb-mi' executable cannot be located. The lldb-mi
tests can not be run as a result.")
configuration.skipCategories.append("lldb-mi")
- else:
- os.environ["LLDBMI_EXEC"] = lldbMiExec
lldbPythonDir = None # The directory that contains 'lldb/__init__.py'
if configuration.lldbFrameworkPath:
Index: packages/Python/lldbsuite/test/dotest.py
===================================================================
--- packages/Python/lldbsuite/test/dotest.py
+++ packages/Python/lldbsuite/test/dotest.py
@@ -673,16 +673,15 @@
# Assume lldb-mi is in same place as lldb
# If not found, disable the lldb-mi tests
- lldbMiExec = None
- if lldbtest_config.lldbExec and is_exe(lldbtest_config.lldbExec + "-mi"):
- lldbMiExec = lldbtest_config.lldbExec + "-mi"
- if not lldbMiExec:
+ lldbDir = os.path.dirname(lldbtest_config.lldbExec)
+ lldbMiExec = os.path.join(lldbDir, "lldb-mi")
+ if is_exe(lldbMiExec):
+ os.environ["LLDBMI_EXEC"] = lldbMiExec
+ else:
if not configuration.shouldSkipBecauseOfCategories(["lldb-mi"]):
print(
"The 'lldb-mi' executable cannot be located. The lldb-mi tests can not be run as a result.")
configuration.skipCategories.append("lldb-mi")
- else:
- os.environ["LLDBMI_EXEC"] = lldbMiExec
lldbPythonDir = None # The directory that contains 'lldb/__init__.py'
if configuration.lldbFrameworkPath:
_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits