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: [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.
Yes ok (and actually i think you and fernando are the ones to figure out if a change to this file is valid -- it just so happens that MI can test varobj).


Andrew


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]