From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6842 invoked by alias); 10 Aug 2004 08:45:30 -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 6820 invoked from network); 10 Aug 2004 08:45:27 -0000 Received: from unknown (HELO smtp10.atl.mindspring.net) (207.69.200.246) by sourceware.org with SMTP; 10 Aug 2004 08:45:27 -0000 Received: from user-119a90a.biz.mindspring.com ([66.149.36.10] helo=berman.michael-chastain.com) by smtp10.atl.mindspring.net with esmtp (Exim 3.33 #1) id 1BuSG2-0003pg-00; Tue, 10 Aug 2004 04:45:22 -0400 Received: from mindspring.com (localhost [127.0.0.1]) by berman.michael-chastain.com (Postfix) with SMTP id 524F54B102; Tue, 10 Aug 2004 04:45:31 -0400 (EDT) Date: Tue, 10 Aug 2004 08:45:00 -0000 From: Michael Chastain To: cagney@redhat.com, ezannoni@redhat.com Subject: [rfc/testsuite/mi] use gdb_get_line_number Cc: gdb-patches@sources.redhat.com Message-ID: <41188B2A.nailK7Y1RD9SU@mindspring.com> User-Agent: nail 10.8 6/28/04 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-SW-Source: 2004-08/txt/msg00354.txt.bz2 Here is a draft patch for gdb.mi/mi-break.exp to use gdb_get_line_number. It works, but that's beside the point. I'm looking for the right style. So this is RFC, not RFA. Some questions: . there are a lot of line_* variables. how would you like me to name them and manage them? . some of the test names have line numbers embedded in them: "insert temp breakpoint at basics.c:15 (callee3)" this is now "insert temp breakpoint at basics.c:$line_callee3 (callee3)" so the name floats around as basics.c changes. That is, I just did the simple stupid substitution. What would you really like for test names like this? . what units of patch submission would you like: one file at a time, or pairs of files at a time, or all the files related to basics.c at a time? . anything else? I can just do whatever I think best for some of these things, but I thought it would be good to get style clues before I go write patches for 20 or 30 files. Tested on native i686-pc-linux-gnu, gcc 2.95.3 3.3.4 3.4.1, dwarf-2 and stabs+. Also I threw a copyright header into basics.c and ran it again, and the test script followed the line numbers like it should. What do you think? Michael C 2004-08-10 Michael Chastain * gdb.mi/mi-break.exp: Use gdb_get_line_number. Index: mi-break.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-break.exp,v retrieving revision 1.6 diff -c -3 -p -r1.6 mi-break.exp *** mi-break.exp 9 Aug 2004 16:32:44 -0000 1.6 --- mi-break.exp 10 Aug 2004 08:26:31 -0000 *************** *** 1,4 **** ! # Copyright 1999, 2001 Free Software Foundation, Inc. # 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 1999, 2001, 2004 Free Software Foundation, Inc. # 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 *************** *** 14,22 **** # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - # Please email any bugs, comments, and/or additions to this file to: - # bug-gdb@prep.ai.mit.edu - # # Test essential Machine interface (MI) operations # --- 14,19 ---- *************** mi_delete_breakpoints *** 47,85 **** mi_gdb_reinitialize_dir $srcdir/$subdir mi_gdb_load ${binfile} proc test_tbreak_creation_and_listing {} { global mi_gdb_prompt global srcfile global hex # Insert some breakpoints and list them # Also, disable some so they do not interfere with other tests # Tests: # -break-insert -t main # -break-insert -t basics.c:callee2 ! # -break-insert -t basics.c:15 ! # -break-insert -t srcfile:6 # -break-list mi_gdb_test "222-break-insert -t main" \ ! "222\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"del\",enabled=\"y\",addr=\"$hex\",func=\"main\",file=\".*basics.c\",line=\"32\",times=\"0\"\}" \ "break-insert -t operation" mi_gdb_test "333-break-insert -t basics.c:callee2" \ ! "333\\^done,bkpt=\{number=\"2\",type=\"breakpoint\",disp=\"del\",enabled=\"y\",addr=\"$hex\",func=\"callee2\",file=\".*basics.c\",line=\"22\",times=\"0\"\}" \ "insert temp breakpoint at basics.c:callee2" ! mi_gdb_test "444-break-insert -t basics.c:15" \ ! "444\\^done,bkpt=\{number=\"3\",type=\"breakpoint\",disp=\"del\",enabled=\"y\",addr=\"$hex\",func=\"callee3\",file=\".*basics.c\",line=\"15\",times=\"0\"\}" \ ! "insert temp breakpoint at basics.c:15 (callee3)" ! ! # Getting the quoting right is tricky. That is "\"\":6" ! mi_gdb_test "555-break-insert -t \"\\\"${srcfile}\\\":6\"" \ ! "555\\^done,bkpt=\{number=\"4\",type=\"breakpoint\",disp=\"del\",enabled=\"y\",addr=\"$hex\",func=\"callee4\",file=\".*basics.c\",line=\"6\",times=\"0\"\}" \ ! "insert temp breakpoint at \"\":6 (callee4)" mi_gdb_test "666-break-list" \ ! "666\\\^done,BreakpointTable=\{nr_rows=\".\",nr_cols=\".\",hdr=\\\[\{width=\".*\",alignment=\".*\",col_name=\"number\",colhdr=\"Num\"\}.*colhdr=\"Type\".*colhdr=\"Disp\".*colhdr=\"Enb\".*colhdr=\"Address\".*colhdr=\"What\".*\\\],body=\\\[bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"del\",enabled=\"y\",addr=\"$hex\",func=\"main\",file=\".*basics.c\",line=\"32\",times=\"0\"\}.*\\\]\}" \ "list of breakpoints" mi_gdb_test "777-break-delete" \ --- 44,99 ---- mi_gdb_reinitialize_dir $srcdir/$subdir mi_gdb_load ${binfile} + # Locate line numbers in basics.c. + set line_callee4 [expr [gdb_get_line_number "callee4 ("]] + set line_callee4_plus_2 [expr [gdb_get_line_number "callee4 ("] + 2] + set line_callee3 [expr [gdb_get_line_number "callee3 ("]] + set line_callee3_plus_2 [expr [gdb_get_line_number "callee3 ("] + 2] + set line_callee2 [expr [gdb_get_line_number "callee2 ("]] + set line_callee2_plus_2 [expr [gdb_get_line_number "callee2 ("] + 2] + set line_callee1 [expr [gdb_get_line_number "callee1 ("]] + set line_callee1_plus_2 [expr [gdb_get_line_number "callee1 ("] + 2] + set line_main [expr [gdb_get_line_number "main ("]] + set line_main_plus_2 [expr [gdb_get_line_number "main ("] + 2] + proc test_tbreak_creation_and_listing {} { global mi_gdb_prompt global srcfile global hex + global line_callee4 line_callee4_plus_2 + global line_callee3 line_callee3_plus_2 + global line_callee2 line_callee2_plus_2 + global line_callee1 line_callee1_plus_2 + global line_main line_main_plus_2 # Insert some breakpoints and list them # Also, disable some so they do not interfere with other tests # Tests: # -break-insert -t main # -break-insert -t basics.c:callee2 ! # -break-insert -t basics.c:$line_callee3 ! # -break-insert -t srcfile:$line_callee4 # -break-list mi_gdb_test "222-break-insert -t main" \ ! "222\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"del\",enabled=\"y\",addr=\"$hex\",func=\"main\",file=\".*basics.c\",line=\"$line_main_plus_2\",times=\"0\"\}" \ "break-insert -t operation" mi_gdb_test "333-break-insert -t basics.c:callee2" \ ! "333\\^done,bkpt=\{number=\"2\",type=\"breakpoint\",disp=\"del\",enabled=\"y\",addr=\"$hex\",func=\"callee2\",file=\".*basics.c\",line=\"$line_callee2_plus_2\",times=\"0\"\}" \ "insert temp breakpoint at basics.c:callee2" ! mi_gdb_test "444-break-insert -t basics.c:$line_callee3" \ ! "444\\^done,bkpt=\{number=\"3\",type=\"breakpoint\",disp=\"del\",enabled=\"y\",addr=\"$hex\",func=\"callee3\",file=\".*basics.c\",line=\"$line_callee3\",times=\"0\"\}" \ ! "insert temp breakpoint at basics.c:$line_callee3 (callee3)" ! ! # Getting the quoting right is tricky. That is "\"\":$line_callee4" ! mi_gdb_test "555-break-insert -t \"\\\"${srcfile}\\\":$line_callee4\"" \ ! "555\\^done,bkpt=\{number=\"4\",type=\"breakpoint\",disp=\"del\",enabled=\"y\",addr=\"$hex\",func=\"callee4\",file=\".*basics.c\",line=\"$line_callee4\",times=\"0\"\}" \ ! "insert temp breakpoint at \"\":$line_callee4 (callee4)" mi_gdb_test "666-break-list" \ ! "666\\\^done,BreakpointTable=\{nr_rows=\".\",nr_cols=\".\",hdr=\\\[\{width=\".*\",alignment=\".*\",col_name=\"number\",colhdr=\"Num\"\}.*colhdr=\"Type\".*colhdr=\"Disp\".*colhdr=\"Enb\".*colhdr=\"Address\".*colhdr=\"What\".*\\\],body=\\\[bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"del\",enabled=\"y\",addr=\"$hex\",func=\"main\",file=\".*basics.c\",line=\"$line_main_plus_2\",times=\"0\"\}.*\\\]\}" \ "list of breakpoints" mi_gdb_test "777-break-delete" \ *************** proc test_rbreak_creation_and_listing {} *** 91,96 **** --- 105,115 ---- global mi_gdb_prompt global srcfile global hex + global line_callee4 line_callee4_plus_2 + global line_callee3 line_callee3_plus_2 + global line_callee2 line_callee2_plus_2 + global line_callee1 line_callee1_plus_2 + global line_main line_main_plus_2 # Insert some breakpoints and list them # Also, disable some so they do not interfere with other tests *************** proc test_rbreak_creation_and_listing {} *** 103,129 **** setup_xfail "*-*-*" mi_gdb_test "122-break-insert -r main" \ ! "122\\^done,bkpt=\{number=\"5\",addr=\"$hex\",file=\".*basics.c\",line=\"32\"\}" \ "break-insert -r operation" setup_xfail "*-*-*" mi_gdb_test "133-break-insert -r callee2" \ ! "133\\^done,bkpt=\{number=\"6\",addr=\"$hex\",file=\".*basics.c\",line=\"22\"\}" \ "insert breakpoint with regexp callee2" setup_xfail "*-*-*" mi_gdb_test "144-break-insert -r callee" \ ! "144\\^done,bkpt=\{number=\"7\",addr=\"$hex\",file=\".*basics.c\",line=\"27\"\},bkpt=\{number=\"8\",addr=\"$hex\",file=\".*basics.c\",line=\"22\"\},bkpt=\{number=\"9\",addr=\"$hex\",file=\".*basics.c\",line=\"17\"\},bkpt=\{number=\"10\",addr=\"$hex\",file=\".*basics.c\",line=\"8\"\}" \ "insert breakpoint with regexp callee" setup_xfail "*-*-*" mi_gdb_test "155-break-insert -r \.\*llee" \ ! "155\\^done,bkpt=\{number=\"11\",addr=\"$hex\",file=\".*basics.c\",line=\"27\"\},bkpt=\{number=\"12\",addr=\"$hex\",file=\".*basics.c\",line=\"22\"\},bkpt=\{number=\"13\",addr=\"$hex\",file=\".*basics.c\",line=\"17\"\},bkpt=\{number=\"14\",addr=\"$hex\",file=\".*basics.c\",line=\"8\"\}" \ "insert breakpoint with regexp .*llee" setup_xfail "*-*-*" mi_gdb_test "166-break-list" \ ! "1\\\^done,BreakpointTable=\{nr_rows=\".\",nr_cols=\".\",hdr=\\\[\{width=\".*\",alignment=\".*\",col_name=\"number\",colhdr=\"Num\"\}.*colhdr=\"Type\".*colhdr=\"Disp\".*colhdr=\"Enb\".*colhdr=\"Address\".*colhdr=\"What\".*\\\],body=\\\[bkpt=\{number=\"5\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"main\",file=\".*basics.c\",line=\"32\",times=\"0\"\},.*\}\\\]\}" \ "list of breakpoints" mi_gdb_test "177-break-delete" \ --- 122,148 ---- setup_xfail "*-*-*" mi_gdb_test "122-break-insert -r main" \ ! "122\\^done,bkpt=\{number=\"5\",addr=\"$hex\",file=\".*basics.c\",line=\"$line_main_plus_2\"\}" \ "break-insert -r operation" setup_xfail "*-*-*" mi_gdb_test "133-break-insert -r callee2" \ ! "133\\^done,bkpt=\{number=\"6\",addr=\"$hex\",file=\".*basics.c\",line=\"$line_callee2_plus_2\"\}" \ "insert breakpoint with regexp callee2" setup_xfail "*-*-*" mi_gdb_test "144-break-insert -r callee" \ ! "144\\^done,bkpt=\{number=\"7\",addr=\"$hex\",file=\".*basics.c\",line=\"$line_callee1_plus_2\"\},bkpt=\{number=\"8\",addr=\"$hex\",file=\".*basics.c\",line=\"$line_callee2_plus_2\"\},bkpt=\{number=\"9\",addr=\"$hex\",file=\".*basics.c\",line=\"$line_callee3_plus_2\"\},bkpt=\{number=\"10\",addr=\"$hex\",file=\".*basics.c\",line=\"$line_callee4_plus_2\"\}" \ "insert breakpoint with regexp callee" setup_xfail "*-*-*" mi_gdb_test "155-break-insert -r \.\*llee" \ ! "155\\^done,bkpt=\{number=\"11\",addr=\"$hex\",file=\".*basics.c\",line=\"$line_callee1_plus_2\"\},bkpt=\{number=\"12\",addr=\"$hex\",file=\".*basics.c\",line=\"$line_callee2_plus_2\"\},bkpt=\{number=\"13\",addr=\"$hex\",file=\".*basics.c\",line=\"$line_callee3_plus_2\"\},bkpt=\{number=\"14\",addr=\"$hex\",file=\".*basics.c\",line=\"$line_callee4_plus_2\"\}" \ "insert breakpoint with regexp .*llee" setup_xfail "*-*-*" mi_gdb_test "166-break-list" \ ! "1\\\^done,BreakpointTable=\{nr_rows=\".\",nr_cols=\".\",hdr=\\\[\{width=\".*\",alignment=\".*\",col_name=\"number\",colhdr=\"Num\"\}.*colhdr=\"Type\".*colhdr=\"Disp\".*colhdr=\"Enb\".*colhdr=\"Address\".*colhdr=\"What\".*\\\],body=\\\[bkpt=\{number=\"5\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"main\",file=\".*basics.c\",line=\"$line_main_plus_2\",times=\"0\"\},.*\}\\\]\}" \ "list of breakpoints" mi_gdb_test "177-break-delete" \