From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30674 invoked by alias); 17 Sep 2002 19:33:26 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 30667 invoked from network); 17 Sep 2002 19:33:25 -0000 Received: from unknown (HELO valrhona.uglyboxes.com) (64.1.192.220) by sources.redhat.com with SMTP; 17 Sep 2002 19:33:25 -0000 Received: from localhost.localdomain (IDENT:lQjIf+r5oaIqY8T0DQSXh9k9kLKYJC41@localhost.localdomain [127.0.0.1]) by valrhona.uglyboxes.com (8.11.6/8.11.6) with ESMTP id g8HJa8G11126 for ; Tue, 17 Sep 2002 12:36:08 -0700 Date: Tue, 17 Sep 2002 12:33:00 -0000 From: Keith Seitz X-X-Sender: keiths@valrhona.uglyboxes.com To: gdb-patches@sources.redhat.com Subject: [RFA/MI testsuite] test varobj type changing Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-SW-Source: 2002-09/txt/msg00353.txt.bz2 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 * 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