Testsuite failure in gdb.cp/annota2.exp

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Testsuite failure in gdb.cp/annota2.exp

Andreas Schwab
The test "watch triggered on a.x" fails on ia64 because it only allows 3
or 4 occurences of "frames-invalid", but I get 6 of them.  What is the
significance of the "frames-invalid" annotation?

The two regexps also differ in the amount of garbage they allow before the
prompt.

Andreas.

2007-01-26  Andreas Schwab  <[hidden email]>

        * gdb.cp/annota2.exp ("watch triggered on a.x"): Allow arbitrary
        amounts of "frames-invalid" annotations.

--- gdb/testsuite/gdb.cp/annota2.exp.~1.6.~ 2007-01-10 11:18:59.000000000 +0100
+++ gdb/testsuite/gdb.cp/annota2.exp 2007-01-26 16:06:55.000000000 +0100
@@ -191,9 +191,7 @@ gdb_expect {
 #
 send_gdb "next\n"
 gdb_expect {
-   -re "\r\n\032\032post-prompt\r\n\r\n\032\032starting\r\n\r\n\032\032frames-invalid\r\n\r\n\032\032frames-invalid\r\n\r\n\032\032frames-invalid\r\n\r\n\032\032watchpoint 3\r\n.*atchpoint 3: a.x\r\n\r\nOld value = 0\r\nNew value = 1\r\n\r\n\032\032frame-begin 0 $hex\r\n\r\n\032\032frame-function-name\r\nmain\r\n\032\032frame-args\r\n \\(\\)\r\n\032\032frame-source-begin\r\n at \r\n\032\032frame-source-file\r\n.*$srcfile\r\n\032\032frame-source-file-end\r\n:\r\n\032\032frame-source-line\r\n$decimal\r\n\032\032frame-source-end\r\n\r\n\r\n\032\032source .*$srcfile.*beg:$hex\r\n\r\n\032\032frame-end\r\n\r\n\032\032stopped\r\n$gdb_prompt$" \
-   { pass "watch triggered on a.x" }
-   -re "\r\n\032\032post-prompt\r\n\r\n\032\032starting\r\n\r\n\032\032frames-invalid\r\n\r\n\032\032frames-invalid\r\n\r\n\032\032frames-invalid\r\n\r\n\032\032frames-invalid\r\n\r\n\032\032watchpoint 3\r\n\.*atchpoint 3: a.x\r\n\r\nOld value = 0\r\nNew value = 1\r\n\r\n\032\032frame-begin 0 $hex\r\n\r\n\032\032frame-function-name\r\nmain\r\n\032\032frame-args\r\n \\(\\)\r\n\032\032frame-source-begin\r\n at \r\n\032\032frame-source-file\r\n.*$srcfile\r\n\032\032frame-source-file-end\r\n:\r\n\032\032frame-source-line\r\n$decimal\r\n\032\032frame-source-end\r\n\r\n\r\n\032\032source .*$srcfile.*beg:$hex\r\n\r\n\032\032frame-end\r\n\r\n\032\032stopped\r\n.*$gdb_prompt$" \
+   -re "\r\n\032\032post-prompt\r\n\r\n\032\032starting\r\n\r\n(\032\032frames-invalid\r\n\r\n)*\032\032watchpoint 3\r\n.*atchpoint 3: a.x\r\n\r\nOld value = 0\r\nNew value = 1\r\n\r\n\032\032frame-begin 0 $hex\r\n\r\n\032\032frame-function-name\r\nmain\r\n\032\032frame-args\r\n \\(\\)\r\n\032\032frame-source-begin\r\n at \r\n\032\032frame-source-file\r\n.*$srcfile\r\n\032\032frame-source-file-end\r\n:\r\n\032\032frame-source-line\r\n$decimal\r\n\032\032frame-source-end\r\n\r\n\r\n\032\032source .*$srcfile.*beg:$hex\r\n\r\n\032\032frame-end\r\n\r\n\032\032stopped\r\n.*$gdb_prompt$" \
    { pass "watch triggered on a.x" }
    -re "\r\n\032\032post-prompt\r\n\r\n\032\032starting\r\n\r\n\032\032frames-invalid\r\n\r\n\032\032source .*$srcfile.*beg:$hex\r\n\r\n\032\032frame-end\r\n\r\n\032\032stopped\r\n$gdb_prompt$" \
    { kfail "gdb/38" "watch triggered on a.x" }

--
Andreas Schwab, SuSE Labs, [hidden email]
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."
Reply | Threaded
Open this post in threaded view
|

Re: Testsuite failure in gdb.cp/annota2.exp

Nick Roberts
 > The test "watch triggered on a.x" fails on ia64 because it only allows 3
 > or 4 occurences of "frames-invalid", but I get 6 of them.  What is the
 > significance of the "frames-invalid" annotation?

I think the idea was that a frontend need only recompute the call stack when a
"frames-invalid" annotation was issued.  The problem is that almost any
activity seems to generate at least one, and frequently large numbers of such
annotations (they get printed every time flush_cached_frames is called).

Incidentally this test and the other don't pass on GNU/Linux either but the
fails are masked by PR gdb/38.

--
Nick                                           http://www.inet.net.nz/~nickrob
Reply | Threaded
Open this post in threaded view
|

Re: Testsuite failure in gdb.cp/annota2.exp

Daniel Jacobowitz-2
In reply to this post by Andreas Schwab
On Fri, Jan 26, 2007 at 04:17:52PM +0100, Andreas Schwab wrote:
> The test "watch triggered on a.x" fails on ia64 because it only allows 3
> or 4 occurences of "frames-invalid", but I get 6 of them.  What is the
> significance of the "frames-invalid" annotation?

As Nick said, this comes from flush_cached_frames.  I bet we get one
each hardware single step, and you've just got more instructions on
that source line than the test expects.

> 2007-01-26  Andreas Schwab  <[hidden email]>
>
> * gdb.cp/annota2.exp ("watch triggered on a.x"): Allow arbitrary
> amounts of "frames-invalid" annotations.

OK.

--
Daniel Jacobowitz
CodeSourcery