This is the mail archive of the gdb@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: MI-related testsuite regressions


Daniel Jacobowitz writes:
 > On Tue, Jun 28, 2005 at 12:01:36AM +1200, Nick Roberts wrote:
 > >  > I see a fair number of new testsuite regressions:
 > >  > 
 > >  > -PASS: gdb.mi/mi2-stack.exp: stack select same frame
 > >  > +FAIL: gdb.mi/mi2-stack.exp: stack select same frame
 > > 
 > > Yes.  These are due to my changes.
 > 
 > I'm going to echo Mark here.  I assumed that you would not post a patch
 > which introduced failures in the testsuite.

Its not a regression.  I just removed the test from mi-stack.exp as it was
no longer appropriate.  I attach a patch below which also adds the test for
-stack-info-frame and for "-stack-list-locals 2" (which I added in January
of last year) from mi-stack.exp.  I can't test them at the moment but they've
just been copied so they should be OK.

 > >  Currently the default MI interpreter *is*
 > > mi2, so these tests are just duplicated.  It would seem sensible, and save
 > > effort, to have just one file (mi-stack.exp) until the MI version is bumped
 > > up one number.  Then mi-stack.exp could be renamed mi2-stack.exp and a new
 > > file mi-stack.exp could be created.
 > > 
 > > In reality GDB doesn't support more than one version of MI (the current
 > > one).  As has been shown on the mailing list recently, even MI output
 > > from GDB 6.3 differs from MI output from GDB in CVS.
 > 
 > mi2 is a released protocol; the intent is that we not make
 > backwards-incompatible changes to mi2-*.exp, at least not without
 > paying close attention to them.  -i=mi sets mi_version to 3 today. 
 > Until we're ready to declare mi3 usable, we need to continue caring
 > about mi2.

-i=mi sets mi_version to 2 in my copy:

  interp_add (interp_new (INTERP_MI, NULL, mi_out_new (2), &procs));

and

  if (current_interp_named_p (INTERP_MI1))
    deprecated_command_loop_hook = mi1_command_loop;
  else if (current_interp_named_p (INTERP_MI2))
    deprecated_command_loop_hook = mi2_command_loop;
  else if (current_interp_named_p (INTERP_MI3))
    deprecated_command_loop_hook = mi3_command_loop;
  else
    deprecated_command_loop_hook = mi2_command_loop;


As far as I can see mi3 does nothing that mi2 doesn't do.

Nick


2005-06-28  Nick Roberts  <nickrob@snap.net.nz>

	* gdb.mi/mi-stack.exp (test_stack_locals_listing): Remove test for
	-stack-select-frame without arguments.  Add test for newly
	implemented command -stack-info-frame.
	(test_stack_locals_listing): Test for case "-stack-list-locals 2".


*** gdb.mi/mi2-stack.exp.~1.4.~	2005-05-18 20:18:15.000000000 +1200
--- gdb.mi/mi2-stack.exp	2005-06-28 01:29:40.000000000 +1200
***************
*** 55,60 ****
--- 55,61 ----
      # -stack-list-frames
      # -stack-list-frames 1 1
      # -stack-list-frames 1 3
+     # -stack-info-frame
  
      mi_gdb_test "231-stack-list-frames" \
  	    "231\\^done,stack=\\\[frame=\{level=\"0\",addr=\"$hex\",func=\"callee4\",file=\".*basics.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"$line_callee4_body\"\},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\",.*\}\\\]" \
***************
*** 69,74 ****
--- 70,79 ----
      mi_gdb_test "234-stack-list-frames 1" \
  	    "234\\^error,msg=\"mi_cmd_stack_list_frames: Usage.*FRAME_LOW FRAME_HIGH.*\"" \
  	    "stack frame listing wrong"
+ 
+     mi_gdb_test "235-stack-info-frame" \
+             "235\\^done,frame=\{level=\"0\",addr=\"$hex\",func=\"callee4\",file=\".*basics.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"$line_callee4_body\"\}" \
+ 	       "selected frame listing"
  }
  
  proc test_stack_args_listing {} {
***************
*** 149,154 ****
--- 154,160 ----
      # Tests:
      # -stack-list-locals 0
      # -stack-list-locals 1
+     # -stack-list-locals 2
      # -stack-list-arguments 
  
      mi_gdb_test "232-stack-list-locals 0" \
***************
*** 170,175 ****
--- 176,185 ----
  	    "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"
***************
*** 182,197 ****
  	    "232\\^done,locals=\\\[\\\]" \
                  "stack locals listing for new frame"
  
- # this should be a no-op
- 
-     mi_gdb_test "232-stack-select-frame" \
- 	    "232\\^done" \
-                 "stack select same frame"
- 
      mi_gdb_test "232-stack-list-locals 1" \
  	    "232\\^done,locals=\\\[\\\]" \
                  "stack locals for same frame (level 1)"
- 
  }
  
  mi_runto callee4
--- 192,200 ----


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