Re: Expect fails to recognize regexp

Corinna Vinschen
2002-09-13T21:23:06Z

On Fri, Sep 13, 2002 at 02:22:43PM -0400, Elena Zannoni wrote:
>
> Add
>
> exp_internal 1
> and
> exp_internal 0
>
> around the particualar send/expect interaction, then you will exacly
> see in the output what expect think it matched.
>
> That's the only way I know of making sense of stuff like this.
>
> Elena

I tried it but it didn't add anything to the output. Nothing!

I added it this way:

Index: gdb.exp
===================================================================
RCS file: /cvs/cvsfiles/devo/gdb/testsuite/lib/gdb.exp,v
retrieving revision 1.182
diff -u -p -r1.182 gdb.exp
--- gdb.exp 2002/09/13 17:29:54 1.182
+++ gdb.exp 2002/09/13 21:22:12
@@ -1713,14 +1713,20 @@ proc rerun_to_main {} {
timeout {fail "(timeout) rerun to main" ; return 0}
}
} else {
+ exp_internal 1
send_gdb "run\n"
gdb_expect {
+ -re "The program .* has been started already.*y or n. $" {
+ send_gdb "y\n"
+ exp_continue
+ }
-re "Starting program.*$gdb_prompt $"\
{pass "rerun to main" ; return 0}
-re "$gdb_prompt $"\
{fail "rerun to main" ; return 0}
timeout {fail "(timeout) rerun to main" ; return 0}
}
+ exp_internal 0
}
}

Was that ok or did I do something wrong?

Corinna

--
Corinna Vinschen
Cygwin Developer
Red Hat, Inc.
mailto:vinschen@redhat.com