* [rfc/testsuite/mi] use gdb_get_line_number
@ 2004-08-10 8:45 Michael Chastain
2004-08-11 18:08 ` Andrew Cagney
0 siblings, 1 reply; 10+ messages in thread
From: Michael Chastain @ 2004-08-10 8:45 UTC (permalink / raw)
To: cagney, ezannoni; +Cc: gdb-patches
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 <mec.gnu@mindspring.com>
* 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 "\"<file>\":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 \"<fullfilename>\":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 "\"<file>\":$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 \"<fullfilename>\":$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" \
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [rfc/testsuite/mi] use gdb_get_line_number
2004-08-10 8:45 [rfc/testsuite/mi] use gdb_get_line_number Michael Chastain
@ 2004-08-11 18:08 ` Andrew Cagney
2004-08-11 18:53 ` Michael Chastain
2004-08-11 19:22 ` Michael Chastain
0 siblings, 2 replies; 10+ messages in thread
From: Andrew Cagney @ 2004-08-11 18:08 UTC (permalink / raw)
To: Michael Chastain; +Cc: cagney, ezannoni, gdb-patches
> 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?
Yea, not really. basics.c:callee3 && basics.callee3.prolog?
> + # 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]
I'm wondering if the latter should be called:
line_callee4_past_prologue
(that specific name is bad but I think the intent is clear) so it's
clear that it is past the callee4's prologu.
Andrew
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [rfc/testsuite/mi] use gdb_get_line_number
2004-08-11 18:08 ` Andrew Cagney
@ 2004-08-11 18:53 ` Michael Chastain
2004-08-11 20:14 ` Andrew Cagney
2004-08-11 19:22 ` Michael Chastain
1 sibling, 1 reply; 10+ messages in thread
From: Michael Chastain @ 2004-08-11 18:53 UTC (permalink / raw)
To: cagney; +Cc: gdb-patches, ezannoni
Andrew Cagney <cagney@gnu.org> wrote:
ac> Yea, not really. basics.c:callee3 && basics.callee3.prolog?
Okay, I'll take all the line numbers out of the test names, somehow.
mec> # Locate line numbers in basics.c.
mec> set line_callee4 [expr [gdb_get_line_number "callee4 ("]]
mec> set line_callee4_plus_2 [expr [gdb_get_line_number "callee4 ("] + 2]
ac> I'm wondering if the latter should be called:
ac> line_callee4_past_prologue
Now that you mention it, the "*_plus_2" names look dorky.
Perhaps:
set line_callee4_head [expr [gdb_get_line_number "callee4 ("]]
set line_callee4_body [expr [gdb_get_line_number "callee4 ("] + 2]
I like "line_foo_body", but "line_foo_head" sounds a little funny.
Perhaps "line_foo_definition" or "line_foo_defn".
I don't like "line_foo_prologue" because these are lines in the
source file, and the prologue is a property of the object code.
I'll work up another RFC.
Michael C
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [rfc/testsuite/mi] use gdb_get_line_number
2004-08-11 18:08 ` Andrew Cagney
2004-08-11 18:53 ` Michael Chastain
@ 2004-08-11 19:22 ` Michael Chastain
1 sibling, 0 replies; 10+ messages in thread
From: Michael Chastain @ 2004-08-11 19:22 UTC (permalink / raw)
To: cagney; +Cc: gdb-patches, ezannoni
Okay, try this for style.
Old test names:
break-insert -t operation
insert temp breakpoint at basics.c:callee2
insert temp breakpoint at basics.c:15 (callee3)
insert temp breakpoint at "<fullfilename>":6 (callee4)
New test names:
break-insert -t operation
insert temp breakpoint at basics.c:callee2
insert temp breakpoint at basics.c:$line_callee3_body
insert temp breakpoint at "<fullfilename>":$line_callee4_head
That is a literal dollar sign in the last two test names,
so the test name is a constant string.
The line number variables are now named "line_foo_head"
and "line_foo_body".
Tweak away ... or give it the drastic treatment.
Not fully tested yet.
===
2004-08-11 Michael Chastain <mec.gnu@mindspring.com>
* 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 -r1.6 mi-break.exp
1c1
< # Copyright 1999, 2001 Free Software Foundation, Inc.
---
> # Copyright 1999, 2001, 2004 Free Software Foundation, Inc.
17,19d16
< # Please email any bugs, comments, and/or additions to this file to:
< # bug-gdb@prep.ai.mit.edu
<
49a47,58
> # Locate line numbers in basics.c.
> set line_callee4_head [gdb_get_line_number "callee4 ("]
> set line_callee4_body [expr $line_callee4_head + 2]
> set line_callee3_head [gdb_get_line_number "callee3 ("]
> set line_callee3_body [expr $line_callee3_head + 2]
> set line_callee2_head [gdb_get_line_number "callee2 ("]
> set line_callee2_body [expr $line_callee2_head + 2]
> set line_callee1_head [gdb_get_line_number "callee1 ("]
> set line_callee1_body [expr $line_callee1_head + 2]
> set line_main_head [gdb_get_line_number "main ("]
> set line_main_body [expr $line_main_head + 2]
>
53a63,67
> global line_callee4_head line_callee4_body
> global line_callee3_head line_callee3_body
> global line_callee2_head line_callee2_body
> global line_callee1_head line_callee1_body
> global line_main_head line_main_body
60,61c74,75
< # -break-insert -t basics.c:15
< # -break-insert -t srcfile:6
---
> # -break-insert -t basics.c:$line_callee3_head
> # -break-insert -t srcfile:$line_callee4_head
65c79
< "222\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"del\",enabled=\"y\",addr=\"$hex\",func=\"main\",file=\".*basics.c\",line=\"32\",times=\"0\"\}" \
---
> "222\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"del\",enabled=\"y\",addr=\"$hex\",func=\"main\",file=\".*basics.c\",line=\"$line_main_body\",times=\"0\"\}" \
69c83
< "333\\^done,bkpt=\{number=\"2\",type=\"breakpoint\",disp=\"del\",enabled=\"y\",addr=\"$hex\",func=\"callee2\",file=\".*basics.c\",line=\"22\",times=\"0\"\}" \
---
> "333\\^done,bkpt=\{number=\"2\",type=\"breakpoint\",disp=\"del\",enabled=\"y\",addr=\"$hex\",func=\"callee2\",file=\".*basics.c\",line=\"$line_callee2_body\",times=\"0\"\}" \
72,79c86,93
< 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 "\"<file>\":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 \"<fullfilename>\":6 (callee4)"
---
> mi_gdb_test "444-break-insert -t basics.c:$line_callee3_head" \
> "444\\^done,bkpt=\{number=\"3\",type=\"breakpoint\",disp=\"del\",enabled=\"y\",addr=\"$hex\",func=\"callee3\",file=\".*basics.c\",line=\"$line_callee3_head\",times=\"0\"\}" \
> "insert temp breakpoint at basics.c:\$line_callee3_body"
>
> # Getting the quoting right is tricky. That is "\"<file>\":$line_callee4_head"
> mi_gdb_test "555-break-insert -t \"\\\"${srcfile}\\\":$line_callee4_head\"" \
> "555\\^done,bkpt=\{number=\"4\",type=\"breakpoint\",disp=\"del\",enabled=\"y\",addr=\"$hex\",func=\"callee4\",file=\".*basics.c\",line=\"$line_callee4_head\",times=\"0\"\}" \
> "insert temp breakpoint at \"<fullfilename>\":\$line_callee4_head"
82c96
< "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\"\}.*\\\]\}" \
---
> "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_body\",times=\"0\"\}.*\\\]\}" \
93a108,112
> global line_callee4_head line_callee4_body
> global line_callee3_head line_callee3_body
> global line_callee2_head line_callee2_body
> global line_callee1_head line_callee1_body
> global line_main_head line_main_body
106c125
< "122\\^done,bkpt=\{number=\"5\",addr=\"$hex\",file=\".*basics.c\",line=\"32\"\}" \
---
> "122\\^done,bkpt=\{number=\"5\",addr=\"$hex\",file=\".*basics.c\",line=\"$line_main_body\"\}" \
111c130
< "133\\^done,bkpt=\{number=\"6\",addr=\"$hex\",file=\".*basics.c\",line=\"22\"\}" \
---
> "133\\^done,bkpt=\{number=\"6\",addr=\"$hex\",file=\".*basics.c\",line=\"$line_callee2_body\"\}" \
116c135
< "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\"\}" \
---
> "144\\^done,bkpt=\{number=\"7\",addr=\"$hex\",file=\".*basics.c\",line=\"$line_callee1_body\"\},bkpt=\{number=\"8\",addr=\"$hex\",file=\".*basics.c\",line=\"$line_callee2_body\"\},bkpt=\{number=\"9\",addr=\"$hex\",file=\".*basics.c\",line=\"$line_callee3_body\"\},bkpt=\{number=\"10\",addr=\"$hex\",file=\".*basics.c\",line=\"$line_callee4_body\"\}" \
121c140
< "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\"\}" \
---
> "155\\^done,bkpt=\{number=\"11\",addr=\"$hex\",file=\".*basics.c\",line=\"$line_callee1_body\"\},bkpt=\{number=\"12\",addr=\"$hex\",file=\".*basics.c\",line=\"$line_callee2_body\"\},bkpt=\{number=\"13\",addr=\"$hex\",file=\".*basics.c\",line=\"$line_callee3_body\"\},bkpt=\{number=\"14\",addr=\"$hex\",file=\".*basics.c\",line=\"$line_callee4_body\"\}" \
126c145
< "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\"\},.*\}\\\]\}" \
---
> "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_body\",times=\"0\"\},.*\}\\\]\}" \
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [rfc/testsuite/mi] use gdb_get_line_number
2004-08-11 18:53 ` Michael Chastain
@ 2004-08-11 20:14 ` Andrew Cagney
2004-08-11 22:17 ` Michael Chastain
0 siblings, 1 reply; 10+ messages in thread
From: Andrew Cagney @ 2004-08-11 20:14 UTC (permalink / raw)
To: Michael Chastain; +Cc: gdb-patches, ezannoni
> set line_callee4_head [expr [gdb_get_line_number "callee4 ("]]
> set line_callee4_body [expr [gdb_get_line_number "callee4 ("] + 2]
Or just line_callee4 and line_callee4_body?
Andrew
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [rfc/testsuite/mi] use gdb_get_line_number
2004-08-11 20:14 ` Andrew Cagney
@ 2004-08-11 22:17 ` Michael Chastain
2004-08-11 23:00 ` Andrew Cagney
0 siblings, 1 reply; 10+ messages in thread
From: Michael Chastain @ 2004-08-11 22:17 UTC (permalink / raw)
To: cagney; +Cc: gdb-patches, ezannoni
Andrew Cagney <cagney@gnu.org> wrote:
> Or just line_callee4 and line_callee4_body?
I think it's confusing to have one name be a prefix of the other.
With "line_callee4_head" and "line_callee4_body", whenever I read
a name, I know what it must mean.
But if you say so, I'll do it your way.
Any other changes? Actually there's a whole patch in another
message, so I'll just wait for you to get some cycles to process
that.
Michael C
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [rfc/testsuite/mi] use gdb_get_line_number
2004-08-11 22:17 ` Michael Chastain
@ 2004-08-11 23:00 ` Andrew Cagney
2004-08-12 12:03 ` Michael Chastain
0 siblings, 1 reply; 10+ messages in thread
From: Andrew Cagney @ 2004-08-11 23:00 UTC (permalink / raw)
To: Michael Chastain; +Cc: gdb-patches, ezannoni
> Andrew Cagney <cagney@gnu.org> wrote:
>
>>> Or just line_callee4 and line_callee4_body?
>
>
> I think it's confusing to have one name be a prefix of the other.
> With "line_callee4_head" and "line_callee4_body", whenever I read
> a name, I know what it must mean.
M'kay.
> But if you say so, I'll do it your way.
>
> Any other changes? Actually there's a whole patch in another
> message, so I'll just wait for you to get some cycles to process
> that.
I suspect I deleted it :-(
Andrew
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [rfc/testsuite/mi] use gdb_get_line_number
2004-08-11 23:00 ` Andrew Cagney
@ 2004-08-12 12:03 ` Michael Chastain
2004-08-12 12:12 ` Andrew Cagney
0 siblings, 1 reply; 10+ messages in thread
From: Michael Chastain @ 2004-08-12 12:03 UTC (permalink / raw)
To: cagney; +Cc: gdb-patches, ezannoni
Andrew Cagney <cagney@gnu.org> wrote:
> I suspect I deleted it :-(
No prob, here it is again. I haven't changed it since the last posting.
===
Old test names:
break-insert -t operation
insert temp breakpoint at basics.c:callee2
insert temp breakpoint at basics.c:15 (callee3)
insert temp breakpoint at "<fullfilename>":6 (callee4)
New test names:
break-insert -t operation
insert temp breakpoint at basics.c:callee2
insert temp breakpoint at basics.c:$line_callee3_body
insert temp breakpoint at "<fullfilename>":$line_callee4_head
That is a literal dollar sign in the last two test names,
so the test name is a constant string.
The line number variables are now named "line_foo_head"
and "line_foo_body".
Tweak away ... or give it the drastic treatment.
Not fully tested yet.
===
2004-08-11 Michael Chastain <mec.gnu@mindspring.com>
* 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 -r1.6 mi-break.exp
1c1
< # Copyright 1999, 2001 Free Software Foundation, Inc.
---
> # Copyright 1999, 2001, 2004 Free Software Foundation, Inc.
17,19d16
< # Please email any bugs, comments, and/or additions to this file to:
< # bug-gdb@prep.ai.mit.edu
<
49a47,58
> # Locate line numbers in basics.c.
> set line_callee4_head [gdb_get_line_number "callee4 ("]
> set line_callee4_body [expr $line_callee4_head + 2]
> set line_callee3_head [gdb_get_line_number "callee3 ("]
> set line_callee3_body [expr $line_callee3_head + 2]
> set line_callee2_head [gdb_get_line_number "callee2 ("]
> set line_callee2_body [expr $line_callee2_head + 2]
> set line_callee1_head [gdb_get_line_number "callee1 ("]
> set line_callee1_body [expr $line_callee1_head + 2]
> set line_main_head [gdb_get_line_number "main ("]
> set line_main_body [expr $line_main_head + 2]
>
53a63,67
> global line_callee4_head line_callee4_body
> global line_callee3_head line_callee3_body
> global line_callee2_head line_callee2_body
> global line_callee1_head line_callee1_body
> global line_main_head line_main_body
60,61c74,75
< # -break-insert -t basics.c:15
< # -break-insert -t srcfile:6
---
> # -break-insert -t basics.c:$line_callee3_head
> # -break-insert -t srcfile:$line_callee4_head
65c79
< "222\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"del\",enabled=\"y\",addr=\"$hex\",func=\"main\",file=\".*basics.c\",line=\"32\",times=\"0\"\}" \
---
> "222\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"del\",enabled=\"y\",addr=\"$hex\",func=\"main\",file=\".*basics.c\",line=\"$line_main_body\",times=\"0\"\}" \
69c83
< "333\\^done,bkpt=\{number=\"2\",type=\"breakpoint\",disp=\"del\",enabled=\"y\",addr=\"$hex\",func=\"callee2\",file=\".*basics.c\",line=\"22\",times=\"0\"\}" \
---
> "333\\^done,bkpt=\{number=\"2\",type=\"breakpoint\",disp=\"del\",enabled=\"y\",addr=\"$hex\",func=\"callee2\",file=\".*basics.c\",line=\"$line_callee2_body\",times=\"0\"\}" \
72,79c86,93
< 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 "\"<file>\":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 \"<fullfilename>\":6 (callee4)"
---
> mi_gdb_test "444-break-insert -t basics.c:$line_callee3_head" \
> "444\\^done,bkpt=\{number=\"3\",type=\"breakpoint\",disp=\"del\",enabled=\"y\",addr=\"$hex\",func=\"callee3\",file=\".*basics.c\",line=\"$line_callee3_head\",times=\"0\"\}" \
> "insert temp breakpoint at basics.c:\$line_callee3_body"
>
> # Getting the quoting right is tricky. That is "\"<file>\":$line_callee4_head"
> mi_gdb_test "555-break-insert -t \"\\\"${srcfile}\\\":$line_callee4_head\"" \
> "555\\^done,bkpt=\{number=\"4\",type=\"breakpoint\",disp=\"del\",enabled=\"y\",addr=\"$hex\",func=\"callee4\",file=\".*basics.c\",line=\"$line_callee4_head\",times=\"0\"\}" \
> "insert temp breakpoint at \"<fullfilename>\":\$line_callee4_head"
82c96
< "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\"\}.*\\\]\}" \
---
> "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_body\",times=\"0\"\}.*\\\]\}" \
93a108,112
> global line_callee4_head line_callee4_body
> global line_callee3_head line_callee3_body
> global line_callee2_head line_callee2_body
> global line_callee1_head line_callee1_body
> global line_main_head line_main_body
106c125
< "122\\^done,bkpt=\{number=\"5\",addr=\"$hex\",file=\".*basics.c\",line=\"32\"\}" \
---
> "122\\^done,bkpt=\{number=\"5\",addr=\"$hex\",file=\".*basics.c\",line=\"$line_main_body\"\}" \
111c130
< "133\\^done,bkpt=\{number=\"6\",addr=\"$hex\",file=\".*basics.c\",line=\"22\"\}" \
---
> "133\\^done,bkpt=\{number=\"6\",addr=\"$hex\",file=\".*basics.c\",line=\"$line_callee2_body\"\}" \
116c135
< "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\"\}" \
---
> "144\\^done,bkpt=\{number=\"7\",addr=\"$hex\",file=\".*basics.c\",line=\"$line_callee1_body\"\},bkpt=\{number=\"8\",addr=\"$hex\",file=\".*basics.c\",line=\"$line_callee2_body\"\},bkpt=\{number=\"9\",addr=\"$hex\",file=\".*basics.c\",line=\"$line_callee3_body\"\},bkpt=\{number=\"10\",addr=\"$hex\",file=\".*basics.c\",line=\"$line_callee4_body\"\}" \
121c140
< "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\"\}" \
---
> "155\\^done,bkpt=\{number=\"11\",addr=\"$hex\",file=\".*basics.c\",line=\"$line_callee1_body\"\},bkpt=\{number=\"12\",addr=\"$hex\",file=\".*basics.c\",line=\"$line_callee2_body\"\},bkpt=\{number=\"13\",addr=\"$hex\",file=\".*basics.c\",line=\"$line_callee3_body\"\},bkpt=\{number=\"14\",addr=\"$hex\",file=\".*basics.c\",line=\"$line_callee4_body\"\}" \
126c145
< "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\"\},.*\}\\\]\}" \
---
> "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_body\",times=\"0\"\},.*\}\\\]\}" \
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [rfc/testsuite/mi] use gdb_get_line_number
2004-08-12 12:03 ` Michael Chastain
@ 2004-08-12 12:12 ` Andrew Cagney
2004-08-12 12:45 ` Michael Chastain
0 siblings, 1 reply; 10+ messages in thread
From: Andrew Cagney @ 2004-08-12 12:12 UTC (permalink / raw)
To: Michael Chastain; +Cc: gdb-patches, ezannoni
> Andrew Cagney <cagney@gnu.org> wrote:
>
>>> I suspect I deleted it :-(
>
>
> No prob, here it is again. I haven't changed it since the last posting.
>
> ===
>
> Old test names:
>
> break-insert -t operation
> insert temp breakpoint at basics.c:callee2
> insert temp breakpoint at basics.c:15 (callee3)
> insert temp breakpoint at "<fullfilename>":6 (callee4)
>
> New test names:
>
> break-insert -t operation
> insert temp breakpoint at basics.c:callee2
> insert temp breakpoint at basics.c:$line_callee3_body
> insert temp breakpoint at "<fullfilename>":$line_callee4_head
Yes, better.
Andrew
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [rfc/testsuite/mi] use gdb_get_line_number
2004-08-12 12:12 ` Andrew Cagney
@ 2004-08-12 12:45 ` Michael Chastain
0 siblings, 0 replies; 10+ messages in thread
From: Michael Chastain @ 2004-08-12 12:45 UTC (permalink / raw)
To: cagney; +Cc: gdb-patches, ezannoni
Andrew Cagney <cagney@gnu.org> wrote:
> Yes, better.
Cool. I will test this version, give it a little more time for
reflection, then proceed to RFA.
How many files at a time do you want me to RFA?
I'm thinking one pair for starters, gdb.mi/mi-break.exp and
gdb.mi/mi2-break.exp.
Michael C
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2004-08-12 12:45 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-08-10 8:45 [rfc/testsuite/mi] use gdb_get_line_number Michael Chastain
2004-08-11 18:08 ` Andrew Cagney
2004-08-11 18:53 ` Michael Chastain
2004-08-11 20:14 ` Andrew Cagney
2004-08-11 22:17 ` Michael Chastain
2004-08-11 23:00 ` Andrew Cagney
2004-08-12 12:03 ` Michael Chastain
2004-08-12 12:12 ` Andrew Cagney
2004-08-12 12:45 ` Michael Chastain
2004-08-11 19:22 ` Michael Chastain
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox