Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* Re: [patch] gdb.c++/local.exp: add pr numbers
@ 2002-04-13 23:41 Michael Elizabeth Chastain
  2002-04-14  0:12 ` Daniel Berlin
  2002-04-20 18:45 ` Andrew Cagney
  0 siblings, 2 replies; 16+ messages in thread
From: Michael Elizabeth Chastain @ 2002-04-13 23:41 UTC (permalink / raw)
  To: dberlin; +Cc: ac131313, gdb-patches

Daniel Berlin writes:

I am going to hold off on my bug-referencing patches to gdb.c++/*.exp
while we have some discussion.

> Bugzilla bug ids for gnats bugs will be the same as they were for gnats.

Okay.

> Um, if you simply write something fitting the regex bug(\s|%\#)*(\d+) ,
> bugzilla will make it link to the bug in question.

That sounds mostly good to me.  (Right now I am really glad that I've
learned enough Perl to read those Perl regex's).

However, it looks like the "gdb" part is implicit, such as:

  bug %#277

I want to mark all the gdb bugs (KFAILs) with gdb bug numbers,
so that would work.  I also want to mark all the environment bugs (XFAILs)
with bug numbers for their corresponding systems.  How can I cite a gcc
bug number in a gdb XFAIL?

Similarly, if someone outside gdb wants to refer to a gdb bug,
then "bug %#277" is not quite enough context, because it doesn't specify
which bugzilla database it's talking about.  I'd like it better if there
were a form with the bugzilla database name in the string.

> I'm not going to modify the bugzilla source (to recognize any other
> citation forms, as this highlighting is done in a routine used all over
> the place (and thus, it's harder to verify a given regex does what you
> expect in all cases), and I am specifically trying to avoid making any
> changes to the perl source that can be avoided (the templates are
> expected to be changed).

Well, I think any coherent system is better than what we have now,
which is no information.  If I can mark all the KFAILs, and let the
XFAILs twist in the wind, I can live with that.

Michael C


^ permalink raw reply	[flat|nested] 16+ messages in thread
* Re: [patch] gdb.c++/local.exp: add pr numbers
@ 2002-04-22 22:19 Michael Elizabeth Chastain
  0 siblings, 0 replies; 16+ messages in thread
From: Michael Elizabeth Chastain @ 2002-04-22 22:19 UTC (permalink / raw)
  To: gdb-patches, mec

Committed.

Michael C

2002-04-22  Michael Chastain  <mec@shout.net>

	* gdb.c++/local.exp: Add PR numbers: gdb/482, gdb/483.


^ permalink raw reply	[flat|nested] 16+ messages in thread
* [patch] gdb.c++/local.exp: add pr numbers
@ 2002-04-22 22:17 Michael Elizabeth Chastain
  0 siblings, 0 replies; 16+ messages in thread
From: Michael Elizabeth Chastain @ 2002-04-22 22:17 UTC (permalink / raw)
  To: gdb-patches

This patch adds PR numbers to gdb.c++/local.exp.

Michael C

2002-04-22  Michael Chastain  <mec@shout.net>

	* gdb.c++/local.exp: Add PR numbers: gdb/482, gdb/483.

Index: gdb.c++/local.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.c++/local.exp,v
retrieving revision 1.7
diff -c -3 -p -r1.7 local.exp
*** gdb.c++/local.exp	10 Apr 2002 03:52:21 -0000	1.7
--- gdb.c++/local.exp	12 Apr 2002 22:25:33 -0000
*************** set sep "(\[.\]|___)\[0-9\]"
*** 101,107 ****
  send_gdb "ptype Local\n"
  gdb_expect {
    -re "type = class Local \{\[\r\n\t \]*public:\[\r\n\t \]*int loc1;\[\r\n\t \]*char loc_foo\\((const *|)char\\);\[\r\n\t \]*\}.*$gdb_prompt $" { pass "ptype Local" }
!   -re "type = class Local \{\[\r\n\t \]*public:\[\r\n\t \]*int loc1;\[\r\n\t \]*char loc_foo\\((const *|)char\\);\[\r\n\t \]*char loc_foo\\((const *|)char\\);\[\r\n\t \]*\}.*$gdb_prompt $" { fail "ptype Local (double loc_foo)" }
    -re "type = class Local \{\[\r\n\t \]*public:\[\r\n\t \]*int loc1;\[\r\n\t \]*Local & operator *=\\((foobar__Fi${sep}::|)Local const *&\\);\[\r\n\t \]*Local\\((foobar__Fi${sep}::|)Local const *&\\);\[\r\n\t \]*Local\\((void|)\\);\[\r\n\t \]*char loc_foo\\(char\\);\[\r\n\t \]*\}.*$gdb_prompt $" { pass "ptype Local" }
    -re "type = class Local \{\r\n\[\t \]*public:\r\n\[\t \]*int loc1;\r\n\r\n\[\t \]*char loc_foo\\(char\\);\r\n\[\t \]*\\(Local at.*local\\.cc:\[0-9\]*\\)\r\n\}.*$gdb_prompt $" { xpass "ptype Local (old aCC)" }
    -re ".*$gdb_prompt $"   {  fail "ptype Local" }
--- 101,110 ----
  send_gdb "ptype Local\n"
  gdb_expect {
    -re "type = class Local \{\[\r\n\t \]*public:\[\r\n\t \]*int loc1;\[\r\n\t \]*char loc_foo\\((const *|)char\\);\[\r\n\t \]*\}.*$gdb_prompt $" { pass "ptype Local" }
!   -re "type = class Local \{\[\r\n\t \]*public:\[\r\n\t \]*int loc1;\[\r\n\t \]*char loc_foo\\((const *|)char\\);\[\r\n\t \]*char loc_foo\\((const *|)char\\);\[\r\n\t \]*\}.*$gdb_prompt $" {
!     # setup_kfail "gdb/483"
!     fail "ptype Local (gdb/483)"
!   }
    -re "type = class Local \{\[\r\n\t \]*public:\[\r\n\t \]*int loc1;\[\r\n\t \]*Local & operator *=\\((foobar__Fi${sep}::|)Local const *&\\);\[\r\n\t \]*Local\\((foobar__Fi${sep}::|)Local const *&\\);\[\r\n\t \]*Local\\((void|)\\);\[\r\n\t \]*char loc_foo\\(char\\);\[\r\n\t \]*\}.*$gdb_prompt $" { pass "ptype Local" }
    -re "type = class Local \{\r\n\[\t \]*public:\r\n\[\t \]*int loc1;\r\n\r\n\[\t \]*char loc_foo\\(char\\);\r\n\[\t \]*\\(Local at.*local\\.cc:\[0-9\]*\\)\r\n\}.*$gdb_prompt $" { xpass "ptype Local (old aCC)" }
    -re ".*$gdb_prompt $"   {  fail "ptype Local" }
*************** send_gdb "ptype InnerLocal::NestedInnerL
*** 186,192 ****
  gdb_expect {
    -re "type = class InnerLocal::NestedInnerLocal \{\[\r\n\t \]*public:\[\r\n\t \]*int nil;\[\r\n\t \]*int nil_foo\\(int\\);\[\r\n\t \]*\}.*$gdb_prompt $" { pass "ptype InnerLocal::NestedInnerLocal" }
    -re "type = class InnerLocal::NestedInnerLocal \{\[\r\n\t \]*public:\[\r\n\t \]*int nil;\[\r\n\t \]*NestedInnerLocal *& *operator *= *\\((main${sep}::|)InnerLocal::NestedInnerLocal const *&\\);\[\r\n\t \]*NestedInnerLocal\\((main${sep}::|)InnerLocal::NestedInnerLocal const *&\\);\[\r\n\t \]*NestedInnerLocal\\((void|)\\);\[\r\n\t \]*int nil_foo\\(int\\);\[\r\n\t \]*\}.*$gdb_prompt $" { pass "ptype InnerLocal::NestedInnerLocal" }
!   -re "There is no field named NestedInnerLocal.*$gdb_prompt $" { fail "ptype InnerLocal::NestedInnerLocal (bogus field lookup)" }
    -re "No symbol .*NestedInnerLocal.* in current context.*$gdb_prompt $" { fail "ptype InnerLocal::NestedInnerLocal (bogus symbol lookup)" }
    -re ".*$gdb_prompt $"   {  fail "ptype InnerLocal::NestedInnerLocal" }
    timeout             { fail "(timeout) ptype InnerLocal::NestedInnerLocal" }
--- 189,198 ----
  gdb_expect {
    -re "type = class InnerLocal::NestedInnerLocal \{\[\r\n\t \]*public:\[\r\n\t \]*int nil;\[\r\n\t \]*int nil_foo\\(int\\);\[\r\n\t \]*\}.*$gdb_prompt $" { pass "ptype InnerLocal::NestedInnerLocal" }
    -re "type = class InnerLocal::NestedInnerLocal \{\[\r\n\t \]*public:\[\r\n\t \]*int nil;\[\r\n\t \]*NestedInnerLocal *& *operator *= *\\((main${sep}::|)InnerLocal::NestedInnerLocal const *&\\);\[\r\n\t \]*NestedInnerLocal\\((main${sep}::|)InnerLocal::NestedInnerLocal const *&\\);\[\r\n\t \]*NestedInnerLocal\\((void|)\\);\[\r\n\t \]*int nil_foo\\(int\\);\[\r\n\t \]*\}.*$gdb_prompt $" { pass "ptype InnerLocal::NestedInnerLocal" }
!   -re "There is no field named NestedInnerLocal.*$gdb_prompt $" {
!     # setup_kfail "gdb/482"
!     fail "ptype InnerLocal::NestedInnerLocal (gdb/482)"
!   }
    -re "No symbol .*NestedInnerLocal.* in current context.*$gdb_prompt $" { fail "ptype InnerLocal::NestedInnerLocal (bogus symbol lookup)" }
    -re ".*$gdb_prompt $"   {  fail "ptype InnerLocal::NestedInnerLocal" }
    timeout             { fail "(timeout) ptype InnerLocal::NestedInnerLocal" }


^ permalink raw reply	[flat|nested] 16+ messages in thread
* Re: [patch] gdb.c++/local.exp: add pr numbers
@ 2002-04-21 20:29 Michael Elizabeth Chastain
  0 siblings, 0 replies; 16+ messages in thread
From: Michael Elizabeth Chastain @ 2002-04-21 20:29 UTC (permalink / raw)
  To: ac131313; +Cc: dberlin, gdb-patches

Andrew Cagney writes:
> Can I suggest, for the moment, we stick with ``gdb/NNNN''.  If/when we 
> switch to bugzilla these can be updated as needed.

Mmmm ... okay.

Michael C


^ permalink raw reply	[flat|nested] 16+ messages in thread
* Re: [patch] gdb.c++/local.exp: add pr numbers
@ 2002-04-14  1:02 Michael Elizabeth Chastain
  0 siblings, 0 replies; 16+ messages in thread
From: Michael Elizabeth Chastain @ 2002-04-14  1:02 UTC (permalink / raw)
  To: dberlin; +Cc: ac131313, gdb-patches

Daniel Berlin writes:

  1. Bugzilla supports multiple products by default, in a single database.
  (Each product can itself, have multiple components, as well)
  2. Bug ids are unique within a given bugzilla database.

Ah.  Ok.  So this covers the case that I care about the most, which is
referring to gcc bugs.  As far as I know, gcc (broadly speaking, the
whole "gnu compiler collection") are the only Free Software compilers
supported by gdb.  Although maybe my knowledge is limited?

> However, this *is* actually going to be annoying in the initial import,
> since it means that if they share the same bugzilla system (which only
> makes sense), i'll have to remap gdb's bug numbers to a new range (IE
> add 10000 to them. There are almost exactly 7000 gcc bug reports, and
> not going to be 3000 more before we switch)

So gnats bug #277 is going to become bugzilla bug #10277, for instance?

Michael C


^ permalink raw reply	[flat|nested] 16+ messages in thread
* Re: [patch] gdb.c++/local.exp: add pr numbers
@ 2002-04-13 15:06 Michael Elizabeth Chastain
  2002-04-13 17:45 ` Daniel Berlin
  0 siblings, 1 reply; 16+ messages in thread
From: Michael Elizabeth Chastain @ 2002-04-13 15:06 UTC (permalink / raw)
  To: ac131313; +Cc: gdb-patches

Andrew Cagney writes:
> Suggest just ``(gdb/482)''.  It appears GCC really is switching to 
> Bugzilla so ``gnats'' may one day not apply.

I thought about that.  When we switch to Bugzilla, is the bug still
going to be #482?  I like "gnats:gdb/482" because it identifies the bug
reporting system that actually contains the bug.

I don't know if there's a standard way of citing bug reports ...
do you want to promulgate one?

Michael C


^ permalink raw reply	[flat|nested] 16+ messages in thread
* Re: [patch] gdb.c++/local.exp: add pr numbers
@ 2002-04-12 18:24 Michael Elizabeth Chastain
  0 siblings, 0 replies; 16+ messages in thread
From: Michael Elizabeth Chastain @ 2002-04-12 18:24 UTC (permalink / raw)
  To: gdb-patches, kevinb

Kevin Buettner asks:
> What happens as the bugs are fixed?  Do we then take the PR numbers
> out?

That brings up a good issue.

The test code that I have right now is resilient to this.  Viz:

  send_gdb "foo ..."
  gdb_expect {
    -re "bar\r\n$gdb_prompt $" {
      pass "foo"
    }
    -re "bletch\r\n$gdb_prompt $" {
      # setup_kfail "gnats:gdb/NNN"
      fail "foo (gnats:gdb/NNN)"
    }
    -re ".*$gdb_prompt $" {
      fail "foo"
    }
    timeout {
      fail "foo (timeout)"
    }

"bar" is a good response.  "bletch" is a particular known bad response.
So as long as gdb responds with "bletch", it will be a FAIL
(soon to be a KFAIL).

When gdb starts responding with "bar", a good response, the test will PASS.

There is no need to remove the case for "bletch" for a long time.
Eventually someone will do a cleanup pass and notice that the bug for
"bletch" got fixed 2 years ago.  It's never dangerous to remove the
"bletch" case because that will just give the ordinary ".*" FAIL again.

I was thinking about this today.  The real issue is where to represent
information about known failures.  The bug database holds one view of
this information, and now we are putting it into the test scripts as well,
via KFAIL.  That means significantly more activity in the test scripts.

Michael C


^ permalink raw reply	[flat|nested] 16+ messages in thread
* [patch] gdb.c++/local.exp: add pr numbers
@ 2002-04-12 15:27 Michael Elizabeth Chastain
  2002-04-12 17:08 ` Kevin Buettner
  2002-04-13 14:58 ` Andrew Cagney
  0 siblings, 2 replies; 16+ messages in thread
From: Michael Elizabeth Chastain @ 2002-04-12 15:27 UTC (permalink / raw)
  To: gdb-patches

This patch adds gnats PR numbers to gdb.c++/local.exp for the tests which
are known to fail.  Twenty-four hours for comments, and then I'll apply.

Michael C

2002-04-12  Michael Chastain  <mec@shout.net>

	* gdb.c++/local.exp: Add PR numbers: pr gdb/482, pr gdb/483.

Index: gdb.c++/local.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.c++/local.exp,v
retrieving revision 1.7
diff -c -3 -p -r1.7 local.exp
*** gdb.c++/local.exp	10 Apr 2002 03:52:21 -0000	1.7
--- gdb.c++/local.exp	12 Apr 2002 22:25:33 -0000
*************** set sep "(\[.\]|___)\[0-9\]"
*** 101,107 ****
  send_gdb "ptype Local\n"
  gdb_expect {
    -re "type = class Local \{\[\r\n\t \]*public:\[\r\n\t \]*int loc1;\[\r\n\t \]*char loc_foo\\((const *|)char\\);\[\r\n\t \]*\}.*$gdb_prompt $" { pass "ptype Local" }
!   -re "type = class Local \{\[\r\n\t \]*public:\[\r\n\t \]*int loc1;\[\r\n\t \]*char loc_foo\\((const *|)char\\);\[\r\n\t \]*char loc_foo\\((const *|)char\\);\[\r\n\t \]*\}.*$gdb_prompt $" { fail "ptype Local (double loc_foo)" }
    -re "type = class Local \{\[\r\n\t \]*public:\[\r\n\t \]*int loc1;\[\r\n\t \]*Local & operator *=\\((foobar__Fi${sep}::|)Local const *&\\);\[\r\n\t \]*Local\\((foobar__Fi${sep}::|)Local const *&\\);\[\r\n\t \]*Local\\((void|)\\);\[\r\n\t \]*char loc_foo\\(char\\);\[\r\n\t \]*\}.*$gdb_prompt $" { pass "ptype Local" }
    -re "type = class Local \{\r\n\[\t \]*public:\r\n\[\t \]*int loc1;\r\n\r\n\[\t \]*char loc_foo\\(char\\);\r\n\[\t \]*\\(Local at.*local\\.cc:\[0-9\]*\\)\r\n\}.*$gdb_prompt $" { xpass "ptype Local (old aCC)" }
    -re ".*$gdb_prompt $"   {  fail "ptype Local" }
--- 101,110 ----
  send_gdb "ptype Local\n"
  gdb_expect {
    -re "type = class Local \{\[\r\n\t \]*public:\[\r\n\t \]*int loc1;\[\r\n\t \]*char loc_foo\\((const *|)char\\);\[\r\n\t \]*\}.*$gdb_prompt $" { pass "ptype Local" }
!   -re "type = class Local \{\[\r\n\t \]*public:\[\r\n\t \]*int loc1;\[\r\n\t \]*char loc_foo\\((const *|)char\\);\[\r\n\t \]*char loc_foo\\((const *|)char\\);\[\r\n\t \]*\}.*$gdb_prompt $" {
!     # setup_kfail "gnats:gdb/483"
!     fail "ptype Local (gnats:gdb/483)"
!   }
    -re "type = class Local \{\[\r\n\t \]*public:\[\r\n\t \]*int loc1;\[\r\n\t \]*Local & operator *=\\((foobar__Fi${sep}::|)Local const *&\\);\[\r\n\t \]*Local\\((foobar__Fi${sep}::|)Local const *&\\);\[\r\n\t \]*Local\\((void|)\\);\[\r\n\t \]*char loc_foo\\(char\\);\[\r\n\t \]*\}.*$gdb_prompt $" { pass "ptype Local" }
    -re "type = class Local \{\r\n\[\t \]*public:\r\n\[\t \]*int loc1;\r\n\r\n\[\t \]*char loc_foo\\(char\\);\r\n\[\t \]*\\(Local at.*local\\.cc:\[0-9\]*\\)\r\n\}.*$gdb_prompt $" { xpass "ptype Local (old aCC)" }
    -re ".*$gdb_prompt $"   {  fail "ptype Local" }
*************** send_gdb "ptype InnerLocal::NestedInnerL
*** 186,192 ****
  gdb_expect {
    -re "type = class InnerLocal::NestedInnerLocal \{\[\r\n\t \]*public:\[\r\n\t \]*int nil;\[\r\n\t \]*int nil_foo\\(int\\);\[\r\n\t \]*\}.*$gdb_prompt $" { pass "ptype InnerLocal::NestedInnerLocal" }
    -re "type = class InnerLocal::NestedInnerLocal \{\[\r\n\t \]*public:\[\r\n\t \]*int nil;\[\r\n\t \]*NestedInnerLocal *& *operator *= *\\((main${sep}::|)InnerLocal::NestedInnerLocal const *&\\);\[\r\n\t \]*NestedInnerLocal\\((main${sep}::|)InnerLocal::NestedInnerLocal const *&\\);\[\r\n\t \]*NestedInnerLocal\\((void|)\\);\[\r\n\t \]*int nil_foo\\(int\\);\[\r\n\t \]*\}.*$gdb_prompt $" { pass "ptype InnerLocal::NestedInnerLocal" }
!   -re "There is no field named NestedInnerLocal.*$gdb_prompt $" { fail "ptype InnerLocal::NestedInnerLocal (bogus field lookup)" }
    -re "No symbol .*NestedInnerLocal.* in current context.*$gdb_prompt $" { fail "ptype InnerLocal::NestedInnerLocal (bogus symbol lookup)" }
    -re ".*$gdb_prompt $"   {  fail "ptype InnerLocal::NestedInnerLocal" }
    timeout             { fail "(timeout) ptype InnerLocal::NestedInnerLocal" }
--- 189,198 ----
  gdb_expect {
    -re "type = class InnerLocal::NestedInnerLocal \{\[\r\n\t \]*public:\[\r\n\t \]*int nil;\[\r\n\t \]*int nil_foo\\(int\\);\[\r\n\t \]*\}.*$gdb_prompt $" { pass "ptype InnerLocal::NestedInnerLocal" }
    -re "type = class InnerLocal::NestedInnerLocal \{\[\r\n\t \]*public:\[\r\n\t \]*int nil;\[\r\n\t \]*NestedInnerLocal *& *operator *= *\\((main${sep}::|)InnerLocal::NestedInnerLocal const *&\\);\[\r\n\t \]*NestedInnerLocal\\((main${sep}::|)InnerLocal::NestedInnerLocal const *&\\);\[\r\n\t \]*NestedInnerLocal\\((void|)\\);\[\r\n\t \]*int nil_foo\\(int\\);\[\r\n\t \]*\}.*$gdb_prompt $" { pass "ptype InnerLocal::NestedInnerLocal" }
!   -re "There is no field named NestedInnerLocal.*$gdb_prompt $" {
!     # setup_kfail "gnats:gdb/482"
!     fail "ptype InnerLocal::NestedInnerLocal (gnats:gdb/482)"
!   }
    -re "No symbol .*NestedInnerLocal.* in current context.*$gdb_prompt $" { fail "ptype InnerLocal::NestedInnerLocal (bogus symbol lookup)" }
    -re ".*$gdb_prompt $"   {  fail "ptype InnerLocal::NestedInnerLocal" }
    timeout             { fail "(timeout) ptype InnerLocal::NestedInnerLocal" }


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2002-04-23  5:19 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-04-13 23:41 [patch] gdb.c++/local.exp: add pr numbers Michael Elizabeth Chastain
2002-04-14  0:12 ` Daniel Berlin
2002-04-14  6:31   ` Andrew Cagney
2002-04-14  8:22   ` Tom Tromey
2002-04-20 18:45 ` Andrew Cagney
  -- strict thread matches above, loose matches on Subject: below --
2002-04-22 22:19 Michael Elizabeth Chastain
2002-04-22 22:17 Michael Elizabeth Chastain
2002-04-21 20:29 Michael Elizabeth Chastain
2002-04-14  1:02 Michael Elizabeth Chastain
2002-04-13 15:06 Michael Elizabeth Chastain
2002-04-13 17:45 ` Daniel Berlin
2002-04-12 18:24 Michael Elizabeth Chastain
2002-04-12 15:27 Michael Elizabeth Chastain
2002-04-12 17:08 ` Kevin Buettner
2002-04-12 17:20   ` Daniel Jacobowitz
2002-04-13 14:58 ` Andrew Cagney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox