Re: MI testsuite to use PTY for inferior

Bob Rossi
2005-07-31T21:20:39Z

On Sun, Jul 31, 2005 at 11:30:52AM -0400, Daniel Jacobowitz wrote:
> On Sun, Jul 31, 2005 at 09:16:53AM -0400, Bob Rossi wrote:
> > On Sat, Jul 30, 2005 at 09:21:11PM -0400, Daniel Jacobowitz wrote:
> > > On Sat, Jul 30, 2005 at 07:03:09PM -0400, Bob Rossi wrote:
> > > > However, since that's pretty ugly, I'll take your suggestion and always
> > > > create and assign inferior_pty a value. Then I'll check it for the value
> > > > of "true" before executing any code.
> > >
> > > I recommend doing something different. Make the argument a flag, i.e.
> > > "mi_gdb_start use-tty". Or "no-tty" depending on what you want the
> > > default to be.
> >
> > If it would be OK, I'd prefer to just have the TTY work with all MI
> > tests, not making it optional. I'd like to repost the patch with all of
> > the problems found already, and with that additional change. Is this OK?
> >
> > My theory is that no FE can/should use MI with out separating the inferior
> > output via a pty. So, it's OK to test GDB under these assumptions.
>
> Well, first, let me ask you a question. What is the intended fate of
> the old mechanism for interleaved output? The new TTY method has at
> least two limitations:

This is very interesting. This branches into 2 areas, the testsuite and
FE's). As far as the testsuite is concerned, if we add this patch
optional (currently the way it is), then everything is fine for target's
that don't support any TTY mechanism. If we add the patch unconditionally,
then I would say that the target's that don't support TTY's are
unsupported by GDB/MI.

What is GDB's stance on supporting target's via GDB/MI that can not support
creating TTY's? Off the top of my head, I don't think it makes sense to
support these targets. You can not write a reliable FE under theses
circumstances. The inferior can spew out anything it chooses, including
partial MI fragments (if inferior == GDB).

> - As far as I know, native Win32 targets can't use PTYs:
> http://world.std.com/~jmhart/critcom.htm#UNIX%20Pseudoterminal
> So, they'll probably need something different.

In this scenario, I think Cygwin is the answer. Or use GDB/MI with an
inferior program that doesn't output anything to the terminal.

> - Remote targets that provide output currently aren't redirected onto
> the PTY; instead they'll appear interleaved, just like before.

In this scenario, I'm guessing from the sound of it that GDB just hasn't
added support for this yet. So it's a GDB bug, right? I could look into
this if I had some direction.

> Also, Andrew pretty specifically asked you to leave the mi2-* tests
> alone for this change.

Well, he definatly was against it at first, and then I thought maybe he
was changing his mind,

http://sources.redhat.com/ml/gdb-patches/2005-02/msg00110.html

Thanks,
Bob Rossi