kastiglione created this revision.
kastiglione added reviewers: augusto2112, jingham, mib, JDevlieghere.
Herald added a project: All.
kastiglione requested review of this revision.
Herald added a project: LLDB.
Herald added a subscriber: lldb-commits.
If this test fails, the error message isn't helpful:
self.assertEqual(len(threads), 1,
AssertionError: 0 != 1 : Stopped at breakpoint in exec'ed process
This change adds asserts to verify that:
1. The process is stopped
2. For each thread, that the stop reason is None, or Breakpoint
The latter will indicate if execution has stopped for some other reason, and if
so what
that reason is.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D148588
Files:
lldb/test/API/functionalities/exec/TestExec.py
Index: lldb/test/API/functionalities/exec/TestExec.py
===================================================================
--- lldb/test/API/functionalities/exec/TestExec.py
+++ lldb/test/API/functionalities/exec/TestExec.py
@@ -102,13 +102,18 @@
# Run and we should stop at breakpoint in main after exec
process.Continue()
+ self.assertState(process.GetState(), lldb.eStateStopped)
+ for t in process.threads:
+ if t.stop_reason != lldb.eStopReasonNone:
+ self.assertStopReason(t.stop_reason,
lldb.eStopReasonBreakpoint,
+ "Unexpected stop reason")
+ if self.TraceOn():
+ print(t)
+ if t.stop_reason != lldb.eStopReasonBreakpoint:
+ self.runCmd("bt")
+
threads = lldbutil.get_threads_stopped_at_breakpoint(
process, breakpoint2)
- if self.TraceOn():
- for t in process.threads:
- print(t)
- if t.GetStopReason() != lldb.eStopReasonBreakpoint:
- self.runCmd("bt")
self.assertEqual(len(threads), 1,
"Stopped at breakpoint in exec'ed process.")
Index: lldb/test/API/functionalities/exec/TestExec.py
===================================================================
--- lldb/test/API/functionalities/exec/TestExec.py
+++ lldb/test/API/functionalities/exec/TestExec.py
@@ -102,13 +102,18 @@
# Run and we should stop at breakpoint in main after exec
process.Continue()
+ self.assertState(process.GetState(), lldb.eStateStopped)
+ for t in process.threads:
+ if t.stop_reason != lldb.eStopReasonNone:
+ self.assertStopReason(t.stop_reason, lldb.eStopReasonBreakpoint,
+ "Unexpected stop reason")
+ if self.TraceOn():
+ print(t)
+ if t.stop_reason != lldb.eStopReasonBreakpoint:
+ self.runCmd("bt")
+
threads = lldbutil.get_threads_stopped_at_breakpoint(
process, breakpoint2)
- if self.TraceOn():
- for t in process.threads:
- print(t)
- if t.GetStopReason() != lldb.eStopReasonBreakpoint:
- self.runCmd("bt")
self.assertEqual(len(threads), 1,
"Stopped at breakpoint in exec'ed process.")
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits