[Dexter] llvm-lit: Always log DAP messages to stderr (#158586)
This will help diagnose flaky buildbots. The stderr output is only shown
by lit if the test fails.
diff --git a/cross-project-tests/debuginfo-tests/dexter/dex/debugger/DAP.py b/cross-project-tests/debuginfo-tests/dexter/dex/debugger/DAP.py
index 4e64f88..a849990 100644
--- a/cross-project-tests/debuginfo-tests/dexter/dex/debugger/DAP.py
+++ b/cross-project-tests/debuginfo-tests/dexter/dex/debugger/DAP.py
@@ -59,10 +59,17 @@
if self.log_file == "-":
self.out_handle = sys.stdout
return
+ if self.log_file == "-e":
+ self.out_handle = sys.stderr
+ return
self.out_handle = open(self.log_file, "w+", encoding="utf-8")
def _custom_exit(self):
- if self.out_handle is not None and self.log_file != "-":
+ if (
+ self.out_handle is not None
+ and self.log_file != "-"
+ and self.log_file != "-e"
+ ):
self.out_handle.close()
self.open = False
diff --git a/cross-project-tests/debuginfo-tests/dexter/dex/debugger/Debuggers.py b/cross-project-tests/debuginfo-tests/dexter/dex/debugger/Debuggers.py
index ef23dcf..0232bde 100644
--- a/cross-project-tests/debuginfo-tests/dexter/dex/debugger/Debuggers.py
+++ b/cross-project-tests/debuginfo-tests/dexter/dex/debugger/Debuggers.py
@@ -74,7 +74,7 @@
type=str,
metavar="<filepath>",
default=None,
- help="log file for messages between Dexter and the debug adapter; set to '-' to log to stdout",
+ help="log file for messages between Dexter and the debug adapter; set to '-' to log to stdout, '-e' to log to stderr",
)
dap_group.add_argument(
"--colorize-dap-log",
@@ -186,7 +186,11 @@
'<d>could not find</> <r>"{}"</>'.format(options.lldb_executable)
)
- if options.dap_message_log is not None and options.dap_message_log != "-":
+ if (
+ options.dap_message_log is not None
+ and options.dap_message_log != "-"
+ and options.dap_message_log != "-e"
+ ):
options.dap_message_log = os.path.abspath(options.dap_message_log)
diff --git a/cross-project-tests/lit.cfg.py b/cross-project-tests/lit.cfg.py
index f042c27..e702a77 100644
--- a/cross-project-tests/lit.cfg.py
+++ b/cross-project-tests/lit.cfg.py
@@ -121,7 +121,7 @@
tools.append(
ToolSubst(
"%dexter_lldb_args",
- f'--lldb-executable "{lldb_dap_path}" --debugger lldb-dap',
+ f'--lldb-executable "{lldb_dap_path}" --debugger lldb-dap --dap-message-log=-e',
)
)
@@ -148,7 +148,9 @@
dexter_regression_test_c_builder = "clang"
dexter_regression_test_cxx_builder = "clang++"
dexter_regression_test_debugger = "lldb-dap"
- dexter_regression_test_additional_flags = f'--lldb-executable "{lldb_dap_path}"'
+ dexter_regression_test_additional_flags = (
+ f'--lldb-executable "{lldb_dap_path}" --dap-message-log=-e'
+ )
dexter_regression_test_c_flags = "-O0 -glldb -std=gnu11"
dexter_regression_test_cxx_flags = "-O0 -glldb -std=gnu++11"