Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Nick Roberts <nickrob@snap.net.nz>
To: Vladimir Prus <ghost@cs.msu.su>
Cc: gdb-patches@sources.redhat.com
Subject: Re: linux native async mode support
Date: Tue, 01 Apr 2008 20:09:00 -0000	[thread overview]
Message-ID: <18418.36774.469694.449649@kahikatea.snap.net.nz> (raw)
In-Reply-To: <fsti50$v2p$2@ger.gmane.org>

 > >     send_gdb "start\n"
 > >     gdb_expect {
 > >         -re ".*\\^running\r\n\\^done\r\n$mi_gdb_prompt" {
 > 
 > I don't think this is right. MI is (supposed to be) extensible. In particular, new async
 > notification may be added. The above will break if any notification will be emitted
 > between ^running and ^done and the prompt.

I try to make Emacs (the frontend) as tolerant as possible to changes in MI
output, in the hope that future changes, e.g., new fields don't break released
versions of Emacs.  This is a test, however, and it's purpose *is* to detect
changes in Gdb output.  If they are undesirable changes then it's done its job
and detected a regression.  If the changes are deliberate, we update the test.
There's no way to know, in advance, which type the change is and the danger of
making the regexp too general is that we miss a real failure.

 > > ...
 > >     send_gdb "next\n"
 > >     gdb_expect {
 > >         -re "\\^running\r\n\\^done\r\n$mi_gdb_prompt" {
 > >             gdb_expect {
 > >                 -re "\\*stopped,reason=\"end-stepping-range\",thread-id=\"0\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*basics.c\",line=\"$line_main_next\"\}\r\n$mi_gdb_prompt$"
 > {
 > >                     pass "Asynchronous response after next command"
 > >                 }
 > >                 -re ".*$mi_gdb_prompt$" {
 > >                     fail "Asynchronous response after next command (2)"
 > >                 }
 > >                 timeout {
 > >                     fail "Asynchronous response after next command (timeout 2)"
 > >                 }
 > >             }
 > >         }
 > 
 > It appears there's a lot of duplicated logic above. Can we please have
 > factor it out into a helper function? This is not for the sake of abstract
 > clarify -- I've already spend hours updating the current MI testsuite for
 > non-stop mode.

The helper functions that you have written for common sequences are a good
idea as they need only be updated in one place but the three here are the
only ones of their kind (they output an extra "^done" over MI commands like
-exec-next).  Not really worth a dedicated helper function do you agree?

-- 
Nick                                           http://www.inet.net.nz/~nickrob


  reply	other threads:[~2008-04-01 19:41 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-14  8:11 Pedro Alves
2008-03-14 21:17 ` Daniel Jacobowitz
2008-03-17 16:05   ` Pedro Alves
2008-03-17 22:05     ` Daniel Jacobowitz
2008-03-18 23:27       ` Pedro Alves
2008-03-18 23:58         ` Daniel Jacobowitz
2008-03-21 15:55         ` Daniel Jacobowitz
2008-03-21 17:19           ` Pedro Alves
2008-03-28 14:48             ` Maciej W. Rozycki
2008-03-28 16:07               ` Pedro Alves
2008-03-28 16:13                 ` Daniel Jacobowitz
2008-03-28 16:40                   ` Pedro Alves
2008-03-18  0:06     ` Nick Roberts
2008-03-18 23:28       ` Pedro Alves
2008-03-19  3:59         ` Nick Roberts
2008-03-19 16:25           ` Luis Machado
2008-03-19 23:19             ` Pedro Alves
2008-03-19 23:26               ` Pedro Alves
2008-03-20  1:58               ` Nick Roberts
2008-03-21 15:47                 ` Daniel Jacobowitz
2008-03-21 15:49       ` Daniel Jacobowitz
2008-03-21 23:02         ` Nick Roberts
2008-03-22  1:25           ` Daniel Jacobowitz
2008-03-22 22:06             ` Nick Roberts
2008-04-01 14:00               ` Daniel Jacobowitz
2008-04-01 15:17               ` Vladimir Prus
2008-04-01 20:09                 ` Nick Roberts [this message]
2008-04-04 12:34                   ` Vladimir Prus
2008-04-05 17:20                     ` Nick Roberts
2008-04-05 22:07                       ` Vladimir Prus
2008-04-07  0:06                         ` Nick Roberts
2008-04-07  2:33                         ` Nick Roberts
2008-03-18  2:47     ` Nick Roberts
2008-03-14 23:10 ` Nick Roberts
2008-03-15  1:58   ` Pedro Alves
2008-03-15  3:11     ` Daniel Jacobowitz
2008-03-17 23:41     ` Nick Roberts

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=18418.36774.469694.449649@kahikatea.snap.net.nz \
    --to=nickrob@snap.net.nz \
    --cc=gdb-patches@sources.redhat.com \
    --cc=ghost@cs.msu.su \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox