Previous: , Up: Output files   [Contents][Index]


2.3.3 Debug log file

The runtest option --debug creates a file showing the output from Expect in debugging mode. The dbg.log file is created in the current directory. The log file shows the string sent to the tool being tested by each send command and the pattern it compares with the tool output by each expect command.

The log messages begin with a message of the form:

expect: does {tool output} (spawn_id n)
   match pattern {expected pattern}?

For every unsuccessful match, Expect issues a no after this message. If other patterns are specified for the same Expect command, they are reflected also, but without the first part of the message (expect... match pattern).

When Expect finds a match, the log for the successful match ends with yes, followed by a record of the Expect variables set to describe a successful match.

Example debug log file for a GDB test

send: sent {break gdbme.c:34\n} to spawn id 6
expect: does {} (spawn_id 6) match pattern {Breakpoint.*at.* file
gdbme.c, line 34.*\(gdb\) $}? no
{.*\(gdb\) $}? no
expect: does {} (spawn_id 0) match pattern {return} ? no
{\(y or n\) }? no
{buffer_full}? no
{virtual}? no
{memory}? no
{exhausted}? no
{Undefined}? no
{command}? no
break gdbme.c:34
Breakpoint 8 at 0x23d8: file gdbme.c, line 34.
(gdb) expect: does {break gdbme.c:34\r\nBreakpoint 8 at 0x23d8:
file gdbme.c, line 34.\r\n(gdb) } (spawn_id 6) match pattern
{Breakpoint.*at.* file gdbme.c, line 34.*\(gdb\) $}? yes
expect: set expect_out(0,start) {18}
expect: set expect_out(0,end) {71}
expect: set expect_out(0,string) {Breakpoint 8 at 0x23d8: file
gdbme.c, line 34.\r\n(gdb) }
epect: set expect_out(spawn_id) {6}
expect: set expect_out(buffer) {break gdbme.c:34\r\nBreakpoint 8
at 0x23d8: file gdbme.c, line 34.\r\n(gdb) }
PASS:   70      0       breakpoint line number in file

This example exhibits three properties of Expect and DejaGnu that might be surprising at first glance:


Previous: Detailed log file, Up: Output files   [Contents][Index]