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]

[RFA/MI testsuite] test varobj type changing


Hi,

Varobj can track the name of a variable through different frames. With MI 
this is specified by giving -var-create the special frame flag "@". 
Whenever the type of the variable changes, then, MI informs the user that 
this has happened.

I've added a brief test to make sure that this is working properly.

Keith

ChangeLog
2002-09-17  Keith Seitz  <keiths@redhat.com>

	* mi-var-cmd.exp: Add tests to check when varobj pinned to a
	selected frame changes type.

Patch
Index: testsuite/gdb.mi/mi-var-cmd.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-var-cmd.exp,v
retrieving revision 1.10
diff -p -r1.10 mi-var-cmd.exp
*** testsuite/gdb.mi/mi-var-cmd.exp	10 Sep 2002 22:28:44 -0000	1.10
--- testsuite/gdb.mi/mi-var-cmd.exp	17 Sep 2002 19:32:00 -0000
***************
*** 1,4 ****
! #   Copyright (C) 1999, 2000, 2002 Cygnus Solutions
  #
  # This Program Is Free software; you can redistribute it and/or modify
  # it under the terms of the GNU General Public License as published by
--- 1,4 ----
! #   Copyright (C) 1999, 2000, 2002 Free Software Foundation
  #
  # This Program Is Free software; you can redistribute it and/or modify
  # it under the terms of the GNU General Public License as published by
*************** mi_gdb_test "-var-delete i" \
*** 518,523 ****
--- 518,552 ----
  mi_gdb_test "-var-delete l" \
  	"\\^done,ndeleted=\"1\"" \
  	"delete var l"
+ 
+ # Test whether we can follow the name of a variable through multiple
+ # stack frames.
+ mi_gdb_test "-break-insert do_special_tests" \
+   {\^done,bkpt=.*} \
+   "set breakpoint at do_special_tests"
+ 
+ mi_continue_to {.*} do_special_tests {.*} {.*var-cmd.c} {.*} {stop in do_special_tests}
+ 
+ mi_gdb_test "-var-create selected_a @ a" \
+   {\^done,name="selected_a",numchild="0",type="int"} \
+   "create selected_a"
+ 
+ mi_gdb_test "-break-insert incr_a" \
+   {\^done,bkpt=.*} \
+   "set breakpoint at incr_a"
+ 
+ mi_continue_to {.*} incr_a {.*} {.*var-cmd.c} {.*} {stop in incr_a}
+ 
+ mi_gdb_test "-var-update selected_a" \
+   {\^done,changelist=\{name="selected_a",in_scope="true",new_type="char",new_num_children="0"\}} \
+   "update selected_a in incr_a"
+ 
+ mi_next "step a line in incr_a"
+ mi_next "return from incr_a to do_special_tests"
+ 
+ mi_gdb_test "-var-update selected_a" \
+   {\^done,changelist=\{name="selected_a",in_scope="true",new_type="int",new_num_children="0"\}} \
+   "update selected_a in do_special_tests"
  
  mi_gdb_exit
  return 0


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