RE: [RFC] Improve testsuite for poor expect behavior

Pierre Muller
2009-06-13T20:29:17Z

> -----Message d'origine-----
> De : gdb-patches-owner@sourceware.org [mailto:gdb-patches-
> owner@sourceware.org] De la part de Daniel Jacobowitz
> Envoyé : Saturday, June 13, 2009 5:05 PM
> À : Pierre Muller
> Cc : gdb-patches@sourceware.org
> Objet : Re: [RFC] Improve testsuite for poor expect behavior
>
> On Sat, Jun 13, 2009 at 01:00:31AM +0200, Pierre Muller wrote:
> > For mingw32, the main problem is that
> > there are extra ^M generated in the output.
>
> Why? ISTR that this is fixed by setting stdout/stderr to binary mode,
> but I thought a patch was submitted for this ages ago... I know we're
> carrying one in our tree.

I don't get this:
the patch does not only concern the output from GDB,
but also from debuggee executables.
Do you mean that we should set stdout/stderr to binary in
all testsuite executables too?
I am not really sure that running the executables
directly would still give the correct output in that case.
At least for DJGPP, sending only a newline, will
make that all output will overwrite the same line
of the console...
Anyway, my code only applies to targets
explicitly listed.

> > There is a second aspect, which is mainly a problem of
> > the cygwin expect: GDB run inside expect does not believe that
> > they are connected to a terminal, which means that queries are
> > answered by their default values.
> > A large part of the patch below is devoted to adding pattern
> > that recognize correctly the cases where a query is answered
> automatically.
>
> I do not like either of these changes to the testsuite, because
> they're outright wrong on other platforms. I'd rather fix them in
> GDB. They're not limitations of expect, but of the environment in
> which GDB is running.

Here again, I don't understand your position:
I only add new patterns corresponding to output from GDB
that only occur if GDB believes that it is not connected to a terminal,
why should it have adverse effects on platforms for which this works?

Pierre