This revision was automatically updated to reflect the committed changes.
Closed by commit rL301530: [LLDB][MIPS] Fix TestMiExec.py failure. (authored by 
nitesh.jain).

Changed prior to commit:
  https://reviews.llvm.org/D32340?vs=96368&id=96890#toc

Repository:
  rL LLVM

https://reviews.llvm.org/D32340

Files:
  lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/control/TestMiExec.py


Index: 
lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/control/TestMiExec.py
===================================================================
--- 
lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/control/TestMiExec.py
+++ 
lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/control/TestMiExec.py
@@ -319,8 +319,14 @@
         # -exec-step can keep us in the g_MyFunction for gcc
         self.runCmd("-exec-finish --frame 0")
         self.expect("\^running")
-        self.expect(
-            
"\*stopped,reason=\"end-stepping-range\".+?main\.cpp\",line=\"30\"")
+        it = 
self.expect(["\*stopped,reason=\"end-stepping-range\".+?main\.cpp\",line=\"30\"",
+                         
"\*stopped,reason=\"end-stepping-range\".+?main\.cpp\",line=\"29\""])
+
+        if it == 1:
+            # Call to s_MyFunction may not follow immediately after 
g_MyFunction.
+            # There might be some instructions in between to restore 
caller-saved registers.
+            # We need to get past these instructions with a step to reach call 
to s_MyFunction.
+            self.runCmd("-exec-step --thread 1")
 
         # Test that -exec-step steps into s_MyFunction
         # (and that --frame is optional)


Index: lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/control/TestMiExec.py
===================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/control/TestMiExec.py
+++ lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/control/TestMiExec.py
@@ -319,8 +319,14 @@
         # -exec-step can keep us in the g_MyFunction for gcc
         self.runCmd("-exec-finish --frame 0")
         self.expect("\^running")
-        self.expect(
-            "\*stopped,reason=\"end-stepping-range\".+?main\.cpp\",line=\"30\"")
+        it = self.expect(["\*stopped,reason=\"end-stepping-range\".+?main\.cpp\",line=\"30\"",
+                         "\*stopped,reason=\"end-stepping-range\".+?main\.cpp\",line=\"29\""])
+
+        if it == 1:
+            # Call to s_MyFunction may not follow immediately after g_MyFunction.
+            # There might be some instructions in between to restore caller-saved registers.
+            # We need to get past these instructions with a step to reach call to s_MyFunction.
+            self.runCmd("-exec-step --thread 1")
 
         # Test that -exec-step steps into s_MyFunction
         # (and that --frame is optional)
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to