RE: [RFC] Trying to fix testsuite/gdb.arch/i386-sse.exp pattern problem

Pierre Muller
2007-11-08T09:50:09Z

> -----Original Message-----
> From: gdb-patches-owner@sourceware.org [mailto:gdb-patches-
> owner@sourceware.org] On Behalf Of Daniel Jacobowitz
> Sent: Wednesday, November 07, 2007 4:11 PM
> To: Pierre Muller
> Cc: gdb-patches@sourceware.org
> Subject: Re: [RFC] Trying to fix testsuite/gdb.arch/i386-sse.exp
> pattern problem
>
> On Wed, Nov 07, 2007 at 03:37:45PM +0100, Pierre Muller wrote:
> > Even this simple test fails:
> >
> > gdb_test "print {0, 0, 0, 0}" ".* =) \\{(0, ){3}(0\\}.*" "test
> array"
> >
> > I am really wondering if this pattern repetition
> > is working at all...
>
> Perhaps TCL relies on the system regular expression library, and
> Cygwin's does not support repetition operators? Anyway, the TCL
> manual says they are supported, so I'm surprised by this. Maybe Chris
> Faylor knows something about it.

I doubt this as:
if I run this:
grep -E "[ni]{4}" gdb.log
on Cygwin, I find all lines containing the word "running"...

So the Cygwin system regular expression seems to support
repetition operators in a way that would also match
the list of int8 with different values.

Do I understand correctly that this is really specific
to Cygwin?

> > I could correct the test, by putting explicitly the
> > 16 patterns, which results in an horribly lengthy pattern,
> > but I was unable to break it into pieces to have shorter source
> lines.
> >
> > Any ideas on ways to split the pattern string sent to gdb_test
> > over multiple lines are most welcomed.
>
> I'd use variables.
>
> set item "-?\[0-9\]+, "
> set items "$item$item$item$item$item$item$item$item"
> append items "$item$item$item$item$item$item$item-?\[0-9\]+"

That's indeed much better already.
But if this is really a bug in the Cygwin version of
tcl/dejagnu/runtest, then it should be solved
on that end.
Would a patch removing the wrongly interpreted
pattern (replacing it by something like Daniel just suggested)
still be acceptable?

Pierre