[Lldb-commits] [PATCH] D148588: [lldb] Add more asserts to TestExec

Dave Lee via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Mon Apr 17 17:17:50 PDT 2023


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.")
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D148588.514471.patch
Type: text/x-patch
Size: 1230 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20230418/ada45ee3/attachment.bin>


More information about the lldb-commits mailing list