[Lldb-commits] [lldb] b2f1380 - [lldb][Windows] Fix value API tests (#214237)
via lldb-commits
lldb-commits at lists.llvm.org
Fri Aug 7 04:47:09 PDT 2026
Author: Nerixyz
Date: 2026-08-07T13:47:05+02:00
New Revision: b2f13804c816248653c866dd2f39e83cfd475e3f
URL: https://github.com/llvm/llvm-project/commit/b2f13804c816248653c866dd2f39e83cfd475e3f
DIFF: https://github.com/llvm/llvm-project/commit/b2f13804c816248653c866dd2f39e83cfd475e3f.diff
LOG: [lldb][Windows] Fix value API tests (#214237)
This removes the XFAILs for the value API tests.
- For `lldb/test/API/python_api/value/TestValueAPI.py`, we need to pass
`/debug:symtab` to the linker to get a symbol table. Symbols are
"hidden" by default. PDB works around this in the publics stream. For
DWARF, we need `/debug:symtab`. An alternative is to use `/debug:dwarf`
which also enables this.
- For
`lldb/test/API/python_api/value/change_values/TestChangeValueAPI.py`
there were two issues. First, the stdout wasn't available when we
stopped at a breakpoint. Adding a `fflush(stdout)` fixes this.
Secondly, the breakpoint was created where the inputs to `printf` were
already evaluated. I added another assignment where we set the
breakpoint.
The added `fflush` might also help with this being flakey on Linux
(#26026).
Closes #25146
Added:
Modified:
lldb/test/API/python_api/value/Makefile
lldb/test/API/python_api/value/TestValueAPI.py
lldb/test/API/python_api/value/change_values/TestChangeValueAPI.py
lldb/test/API/python_api/value/change_values/main.c
Removed:
################################################################################
diff --git a/lldb/test/API/python_api/value/Makefile b/lldb/test/API/python_api/value/Makefile
index 10495940055b6..1f932972b76a8 100644
--- a/lldb/test/API/python_api/value/Makefile
+++ b/lldb/test/API/python_api/value/Makefile
@@ -1,3 +1,8 @@
C_SOURCES := main.c
+ifeq "$(OS)" "Windows_NT"
+ # Embed a symbol table in the executable.
+ LD_EXTRAS := -Wl,/debug:symtab
+endif
+
include Makefile.rules
diff --git a/lldb/test/API/python_api/value/TestValueAPI.py b/lldb/test/API/python_api/value/TestValueAPI.py
index dba5f959ba60d..371a4b8a8a5ad 100644
--- a/lldb/test/API/python_api/value/TestValueAPI.py
+++ b/lldb/test/API/python_api/value/TestValueAPI.py
@@ -19,7 +19,6 @@ def setUp(self):
# Find the line number to of function 'c'.
self.line = line_number("main.c", "// Break at this line")
- @expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr24772")
def test(self):
"""Exercise some SBValue APIs."""
d = {"EXE": self.exe_name}
diff --git a/lldb/test/API/python_api/value/change_values/TestChangeValueAPI.py b/lldb/test/API/python_api/value/change_values/TestChangeValueAPI.py
index 3b5365c2169e3..137845cc8eb24 100644
--- a/lldb/test/API/python_api/value/change_values/TestChangeValueAPI.py
+++ b/lldb/test/API/python_api/value/change_values/TestChangeValueAPI.py
@@ -22,7 +22,6 @@ def setUp(self):
self.end_line = line_number("main.c", "// Set a breakpoint here at the end")
@expectedFlakeyLinux("llvm.org/pr25652")
- @expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr24772")
@skipIfWasm # Wasm exposes no stack pointer register
def test_change_value(self):
"""Exercise the SBValue::SetValueFromCString API."""
diff --git a/lldb/test/API/python_api/value/change_values/main.c b/lldb/test/API/python_api/value/change_values/main.c
index a606eec217d83..5378400f5c614 100644
--- a/lldb/test/API/python_api/value/change_values/main.c
+++ b/lldb/test/API/python_api/value/change_values/main.c
@@ -22,9 +22,12 @@ int main ()
ptr->fourth_val = false;
// Stop here and set values
+ bool for_breakpoint = ptr->fourth_val + val;
+
printf("Val - %d Mine - %d, %d, %llu, %d. Ptr - %d, %d, %llu, %d\n", val,
mine.first_val, mine.second_val, mine.third_val, mine.fourth_val,
ptr->first_val, ptr->second_val, ptr->third_val, ptr->fourth_val);
+ fflush(stdout);
// Stop here and check values
printf ("This is just another call which we won't make it over %d.", val);
More information about the lldb-commits
mailing list