public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
* Help, DejaGnu bails out on sigstep.exp
@ 2004-09-22 21:15 Mark Kettenis
  2004-09-22 21:40 ` Andrew Cagney
  2004-09-22 21:45 ` Michael Chastain
  0 siblings, 2 replies; 5+ messages in thread
From: Mark Kettenis @ 2004-09-22 21:15 UTC (permalink / raw)
  To: gdb

This is what I get if I run

$ gmake RUNTESTFLAGS=gdb.base/sigstep.exp

on FreeBSD/amd64:

--------------------------------------------------

Test Run By kettenis on Wed Sep 22 23:03:33 2004
Native configuration is x86_64-unknown-freebsd5.2

                === gdb tests ===

Schedule of variations:
    unix

Running target unix
Using ../../../src/gdb/testsuite/../../dejagnu/baseboards/unix.exp as board description file for target.
Using ../../../src/gdb/testsuite/../../dejagnu/config/unix.exp as generic interface file for target.
Using ../../../src/gdb/testsuite/config/unix.exp as tool-and-target-specific interface file.
Running ../../../src/gdb/testsuite/gdb.base/sigstep.exp ...
ERROR: (DejaGnu) proc "other" does not exist.
The error code is NONE
The info on the error is:
close: invalid spawn id (6)
    while executing
"close -i 6"
    invoked from within
"catch "close -i $spawn_id""

                === gdb Summary ===

# of expected passes            23
/usr/home/kettenis/sandbox/gdb/obj/gdb/testsuite/../../gdb/gdb version  2004-09-22-cvs -nx

gmake: *** [just-check] Error 1

--------------------------------------------------

If I run this on OpenBSD/amd64 I get something similar:

--------------------------------------------------

Test Run By kettenis on Wed Sep 22 23:11:04 2004
Native configuration is x86_64-unknown-openbsd3.5

                === gdb tests ===

Schedule of variations:
    unix

Running target unix
Using ../../../src/gdb/testsuite/../../dejagnu/baseboards/unix.exp as board description file for target.
Using ../../../src/gdb/testsuite/../../dejagnu/config/unix.exp as generic interface file for target.
Using ../../../src/gdb/testsuite/config/unix.exp as tool-and-target-specific interface file.
Running ../../../src/gdb/testsuite/gdb.base/sigstep.exp ...
FAIL: gdb.base/sigstep.exp: step from handler; leave handler (timeout)
FAIL: gdb.base/sigstep.exp: stepi from handleri; leave signal trampoline
FAIL: gdb.base/sigstep.exp: next from handler; continue to handler
FAIL: gdb.base/sigstep.exp: nexti from handleri; leave signal trampoline
FAIL: gdb.base/sigstep.exp: finish from handleri; continue to handler
FAIL: gdb.base/sigstep.exp: finish from handleri; leave handler (in main)
FAIL: gdb.base/sigstep.exp: finish from handleri; leave signal trampoline
FAIL: gdb.base/sigstep.exp: return from handleri; continue to handler
ERROR: Undefined command "return".
ERROR: Got interactive prompt.
ERROR: breakpoints not deleted
ERROR: (DejaGnu) proc "other" does not exist.
The error code is NONE

                === gdb Summary ===

# of expected passes            12
# of unexpected failures        8
# of unresolved testcases       3
/home/kettenis/sandbox/gdb/obj/gdb/testsuite/../../gdb/gdb version  2004-09-22-cvs -nx

gmake: *** [just-check] Error 1

--------------------------------------------------

What's happening here?  I don't understand it.  It's pretty nasty
since for a normal "make check" this means that all the tests after
gdb.base/sigstep.exp don't run.

Mark

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

* Re: Help, DejaGnu bails out on sigstep.exp
  2004-09-22 21:15 Help, DejaGnu bails out on sigstep.exp Mark Kettenis
@ 2004-09-22 21:40 ` Andrew Cagney
  2004-09-22 21:45 ` Michael Chastain
  1 sibling, 0 replies; 5+ messages in thread
From: Andrew Cagney @ 2004-09-22 21:40 UTC (permalink / raw)
  To: Mark Kettenis; +Cc: gdb

> This is what I get if I run
> 
> $ gmake RUNTESTFLAGS=gdb.base/sigstep.exp
> 
> on FreeBSD/amd64:

Can you look in / post gdb.log, it will indicate where it barfed.

Andrew

> --------------------------------------------------
> 
> Test Run By kettenis on Wed Sep 22 23:03:33 2004
> Native configuration is x86_64-unknown-freebsd5.2
> 
>                 === gdb tests ===
> 
> Schedule of variations:
>     unix
> 
> Running target unix
> Using ../../../src/gdb/testsuite/../../dejagnu/baseboards/unix.exp as board description file for target.
> Using ../../../src/gdb/testsuite/../../dejagnu/config/unix.exp as generic interface file for target.
> Using ../../../src/gdb/testsuite/config/unix.exp as tool-and-target-specific interface file.
> Running ../../../src/gdb/testsuite/gdb.base/sigstep.exp ...
> ERROR: (DejaGnu) proc "other" does not exist.
> The error code is NONE
> The info on the error is:
> close: invalid spawn id (6)
>     while executing
> "close -i 6"
>     invoked from within

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

* Re: Help, DejaGnu bails out on sigstep.exp
  2004-09-22 21:15 Help, DejaGnu bails out on sigstep.exp Mark Kettenis
  2004-09-22 21:40 ` Andrew Cagney
@ 2004-09-22 21:45 ` Michael Chastain
  2004-09-23 18:51   ` Mark Kettenis
  1 sibling, 1 reply; 5+ messages in thread
From: Michael Chastain @ 2004-09-22 21:45 UTC (permalink / raw)
  To: kettenis, gdb

Mark Kettenis <kettenis@gnu.org> wrote:
> Running ../../../src/gdb/testsuite/gdb.base/sigstep.exp ...
> ERROR: (DejaGnu) proc "other" does not exist.

This smells like you are getting screwed by this code:

  gdb_test_multiple "continue" "$test" {
    -re "done = 0.*$gdb_prompt " {
      pass $test
    }
    # other patterns can go here
  }

There are three occurences of "# other patterns can go here".
Try changing them to:

    # tcl_syntax_bites_1 other patterns can go here
    # tcl_syntax_bites_2 other patterns can go here
    # tcl_syntax_bites_3 other patterns can go here

It's a quirk of TCL that comments can occur only in certain places.
Basically, it's a side effect of the "everything is a block or
a delayed block" syntax rules.  I bet that the problem would not
actually happen unless all the "-re" in front of it fell through.

If that really is the problem, you can fix it as an obvious fix,
something like:

    # Run around to the done
    # You can add more patterns to this if you need them.
    gdb_test_multiple ...

> FAIL: gdb.base/sigstep.exp: nexti from handleri; leave signal trampoline
> FAIL: gdb.base/sigstep.exp: finish from handleri; continue to handler
> FAIL: gdb.base/sigstep.exp: finish from handleri; leave handler (in main)
> FAIL: gdb.base/sigstep.exp: finish from handleri; leave signal trampoline
> FAIL: gdb.base/sigstep.exp: return from handleri; continue to handler
> ERROR: Undefined command "return".
> ERROR: Got interactive prompt.
> ERROR: breakpoints not deleted
> ERROR: (DejaGnu) proc "other" does not exist.
> The error code is NONE

Beats me.  I don't see where the "Undefined command "return"" is
coming from.  Can you add some "-v" to the invocation of runtest
and show a gdb.log fragment?

You could also go down to the offending code block, the first big
block of "advancei", and try deleting "-re" clauses until the
problem goes away.  :-/

Michael

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

* Re: Help, DejaGnu bails out on sigstep.exp
  2004-09-22 21:45 ` Michael Chastain
@ 2004-09-23 18:51   ` Mark Kettenis
  2004-09-23 20:01     ` Michael Chastain
  0 siblings, 1 reply; 5+ messages in thread
From: Mark Kettenis @ 2004-09-23 18:51 UTC (permalink / raw)
  To: mec.gnu; +Cc: gdb

   From: Michael Chastain <mec.gnu@mindspring.com>
   Date: Wed, 22 Sep 2004 17:45:02 -0400

   Mark Kettenis <kettenis@gnu.org> wrote:
   > Running ../../../src/gdb/testsuite/gdb.base/sigstep.exp ...
   > ERROR: (DejaGnu) proc "other" does not exist.

   This smells like you are getting screwed by this code:

     gdb_test_multiple "continue" "$test" {
       -re "done = 0.*$gdb_prompt " {
	 pass $test
       }
       # other patterns can go here
     }

   There are three occurences of "# other patterns can go here".
   Try changing them to:

       # tcl_syntax_bites_1 other patterns can go here
       # tcl_syntax_bites_2 other patterns can go here
       # tcl_syntax_bites_3 other patterns can go here

   It's a quirk of TCL that comments can occur only in certain places.
   Basically, it's a side effect of the "everything is a block or
   a delayed block" syntax rules.  I bet that the problem would not
   actually happen unless all the "-re" in front of it fell through.

   If that really is the problem, you can fix it as an obvious fix,
   something like:

       # Run around to the done
       # You can add more patterns to this if you need them.
       gdb_test_multiple ...

That's indeed the case.  Thanks!  I'll check in the obvious patch.

   > FAIL: gdb.base/sigstep.exp: nexti from handleri; leave signal trampoline
   > FAIL: gdb.base/sigstep.exp: finish from handleri; continue to handler
   > FAIL: gdb.base/sigstep.exp: finish from handleri; leave handler (in main)
   > FAIL: gdb.base/sigstep.exp: finish from handleri; leave signal trampoline
   > FAIL: gdb.base/sigstep.exp: return from handleri; continue to handler
   > ERROR: Undefined command "return".
   > ERROR: Got interactive prompt.
   > ERROR: breakpoints not deleted
   > ERROR: (DejaGnu) proc "other" does not exist.
   > The error code is NONE

   Beats me.  I don't see where the "Undefined command "return"" is
   coming from.  Can you add some "-v" to the invocation of runtest
   and show a gdb.log fragment?

The return is probably the input that is intended for GDB, but doesn't
arrive there.  I'll look a bit further into it, and I'll post the
gdb.log if I don't manage to fix it.

Mark

P.S. Since you keep bugging about testsuite results (and rightly so),
     can you tell me the guidelines again?  Was it that you wanted the
     output of:

     cat gdb.sum | grep -v ^PASS

     or something a bit more difficult?

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

* Re: Help, DejaGnu bails out on sigstep.exp
  2004-09-23 18:51   ` Mark Kettenis
@ 2004-09-23 20:01     ` Michael Chastain
  0 siblings, 0 replies; 5+ messages in thread
From: Michael Chastain @ 2004-09-23 20:01 UTC (permalink / raw)
  To: mark.kettenis; +Cc: gdb

> That's indeed the case.  Thanks!  I'll check in the obvious patch.

It would also be cool if gdb_test_multiple parsed for '#' and
gave a better diagnostic.  I don't think it can actually work
because the new-line has gone away by that time.

> The return is probably the input that is intended for GDB, but doesn't
> arrive there.  I'll look a bit further into it, and I'll post the
> gdb.log if I don't manage to fix it.

Yeah I need a gdb.log for that one.

> P.S. Since you keep bugging about testsuite results (and rightly so),
>      can you tell me the guidelines again?  Was it that you wanted the
>      output of:
>
>      cat gdb.sum | grep -v ^PASS
>
>      or something a bit more difficult?

Stage 1: anything, anything at all

Stage 2: cat gdb.sum | grep -v ^PASS
         also say what compiler you used (makes a big difference)

Stage 3 (not available yet):
         i add some kind of cool gdb-test-run.xml file,
	 and you just post that

Michael

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

end of thread, other threads:[~2004-09-23 20:01 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-09-22 21:15 Help, DejaGnu bails out on sigstep.exp Mark Kettenis
2004-09-22 21:40 ` Andrew Cagney
2004-09-22 21:45 ` Michael Chastain
2004-09-23 18:51   ` Mark Kettenis
2004-09-23 20:01     ` Michael Chastain

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).