This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[RFA/MI testsuite] test varobj type changing
- From: Keith Seitz <keiths at redhat dot com>
- To: gdb-patches at sources dot redhat dot com
- Date: Tue, 17 Sep 2002 12:36:08 -0700 (PDT)
- Subject: [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