This is the mail archive of the
mailing list for the GDB project.
Re: Flipping ifelse.exp test
Daniel Jacobowitz wrote:
On Tue, Jul 18, 2006 at 01:02:48AM +0200, Mark Kettenis wrote:
(gdb) if 1
(gdb) FAIL: gdb.base/ifelse.exp: if 1 with empty body
echo got here\n
(gdb) PASS: gdb.base/ifelse.exp: if 0 with empty body
I fail to see what's wrong with the test though. The regular
expressions seem to be properly anchored.
Can anyone spot the problem?
Yes. The default pattern in gdb_test_multiple is anchored by
"$gdb_prompt $", which occurs (if you're unlucky with buffering)
right in the middle of this test.
Basically you can't do a test that requires two gdb prompts.
I'd recommend removing the "echo got_here" from that test and the other
similar ones. Another thing that might work would be an explicit
anchored pattern to catch the first gdb prompt and continue, below the
pass pattern, but that's prone to timeouts if something goes wrong..
Hmmm, the point of the 'got here' was to ensure that GDB hadn't died
horribly, and that it was still capable of running commands. I think the
problem was that there is no output from the actual statement being
tested. That was with the original script I had. Perhaps now it is
implemented with gdb_test_multiple the prompt is enough.
A slightly wackier alternative might be to change the GDB prompt for