Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [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