This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH: gdb/mi] -stack-list-locals testcase


 > Nick, just the testcase is missing.  Suggest tweaking "mi-stack.exp" 
 > (you do not need to tweak mi[12]-stack.exp since they test older protocols).

mi-stack.exp had three fails to start with. Replacing line=\"7\" with
line=\"8\" and "-exec-next 3" with "-exec-next 4" removed them.

I have added one simple test for `-stack-list-locals 2' that seems to
work. It does not test complex data types but this would require changing
basics.c, which is probably not worth it.

Andrew, if you tell me that this patch does the right thing, then I'll do one
for -var-list-children.

Nick


*** mi-stack.exp.~1.10.~	2002-11-05 15:43:18.000000000 +0000
--- mi-stack.exp	2004-01-05 23:38:27.000000000 +0000
***************
*** 57,63 ****
      # -stack-list-frames 1 3
  
      mi_gdb_test "231-stack-list-frames" \
! 	    "231\\^done,stack=\\\[frame=\{level=\"0\",addr=\"$hex\",func=\"callee4\",file=\".*basics.c\",line=\"8\"\},frame=\{level=\"1\",addr=\"$hex\",func=\"callee3\",.*\},frame=\{level=\"2\",addr=\"$hex\",func=\"callee2\",.*\},frame=\{level=\"3\",addr=\"$hex\",func=\"callee1\",.*\},frame=\{level=\"4\",addr=\"$hex\",func=\"main\",.*\}\\\]" \
                  "stack frame listing"
      mi_gdb_test "232-stack-list-frames 1 1" \
  	    "232\\^done,stack=\\\[frame=\{level=\"1\",addr=\"$hex\",func=\"callee3\",.*\}\\\]" \
--- 57,63 ----
      # -stack-list-frames 1 3
  
      mi_gdb_test "231-stack-list-frames" \
! 	    "231\\^done,stack=\\\[frame=\{level=\"0\",addr=\"$hex\",func=\"callee4\",file=\".*basics.c\",line=\"7\"\},frame=\{level=\"1\",addr=\"$hex\",func=\"callee3\",.*\},frame=\{level=\"2\",addr=\"$hex\",func=\"callee2\",.*\},frame=\{level=\"3\",addr=\"$hex\",func=\"callee1\",.*\},frame=\{level=\"4\",addr=\"$hex\",func=\"main\",.*\}\\\]" \
                  "stack frame listing"
      mi_gdb_test "232-stack-list-frames 1 1" \
  	    "232\\^done,stack=\\\[frame=\{level=\"1\",addr=\"$hex\",func=\"callee3\",.*\}\\\]" \
***************
*** 156,162 ****
                  "stack locals listing 0"
  
  # step until A, B, C, have some reasonable values.
! send_gdb "-exec-next 3\n"
  gdb_expect {
      -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"callee4\",args=\\\[\\\],file=\".*basics.c\",line=\"13\"\}\r\n$mi_gdb_prompt$" {
  	pass "next's in callee4"
--- 156,162 ----
                  "stack locals listing 0"
  
  # step until A, B, C, have some reasonable values.
! send_gdb "-exec-next 4\n"
  gdb_expect {
      -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"callee4\",args=\\\[\\\],file=\".*basics.c\",line=\"13\"\}\r\n$mi_gdb_prompt$" {
  	pass "next's in callee4"
***************
*** 168,173 ****
--- 168,177 ----
  	    "232\\^done,locals=\\\[\{name=\"A\",value=\"1\"\},\{name=\"B\",value=\"2\"\},\{name=\"C\",value=\"3\"\}\\\]" \
                  "stack locals listing 1"
  
+     mi_gdb_test "232-stack-list-locals 2" \
+ 	    "232\\^done,locals=\\\[\{name=\"A\",type=\"int\",value=\"1\"\},\{name=\"B\",type=\"int\",value=\"2\"\},\{name=\"C\",type=\"int\",value=\"3\"\}\\\]" \
+                 "stack locals listing 2"
+ 
      mi_gdb_test "234-stack-list-locals" \
  	    "234\\^error,msg=\"mi_cmd_stack_list_locals: Usage.*PRINT_VALUES.*\"" \
  	    "stack locals listing wrong"


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]