Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Pedro Alves <pedro@codesourcery.com>
To: Yao Qi <yao@codesourcery.com>
Cc: gdb-patches@sourceware.org
Subject: Re: [patch 4/5] Test cases
Date: Thu, 17 Nov 2011 12:08:00 -0000	[thread overview]
Message-ID: <201111171207.42605.pedro@codesourcery.com> (raw)
In-Reply-To: <4EC47EED.8070500@codesourcery.com>

On Thursday 17 November 2011 03:26:37, Yao Qi wrote:
> On 11/17/2011 03:04 AM, Pedro Alves wrote:
> >> > +    send_gdb "disconnect\n"
> >> > +    gdb_expect {
> >> > +       -re "warning: Pending tracepoint will not be resolved while GDB is disconnected.*Ending remote debugging.*$gdb_prompt $" {
> >> > +           pass "disconnect with pending tracepoint"
> >> > +       }
> >> > +       -re ".*$gdb_prompt $" {
> >> > +           fail "disconnect with pending tracepoint"
> >> > +       }
> >> > +    }
> > Why send_gdb/gdb_expect?
> 
> Because gdb_test_multiple doesn't match pattern in output when "Ending
> remote debugging" appeared in the output.  We have to resort to
> send_gdb/gdb_expect here.

Hmm, I'm confused.  In this new revision the test is now:

    send_gdb "disconnect\n"
    gdb_expect {
	-re "warning: Pending tracepoints will not be resolved while GDB is disconnected.*Trace is running but will stop on detach; detach anyway\\? \\(y or n\\) $" {
	    pass "disconnect with pending tracepoint"

	    send_gdb "y\n"
	}
	timeout {fail "(timeout) disconnect with pending tracepoint"}
    }

No "Ending remote debugging" in sight.  GDB outputs that string
after the "detach anyway" query, so I think gdb_test_multiple
should just work.  Also, we should always make sure to eat the prompt
after the "y", so that it doesn't remain in expect's buffer and
confuse following tests.  Something like:

    set test "disconnect with pending tracepoint"
    gdb_test_multiple "disconnect" $test {
       -re "warning: Pending tracepoints will not be resolved while GDB is disconnected.*Trace is running but will stop on detach; detach anyway\\? \\(y or n\\) $" {
           pass $test

           set test "disconnected"
           gdb_test_multiple "y" $test {
             -re "$gdb_prompt $" {
                pass "$test"
             }
	       }
       }
    }

Note that "$gdb_prompt $" match takes precedence over
gdb_test_multiple's internal "Ending remote debugging.*$gdb_prompt $"
match.

Want to try that?

-- 
Pedro Alves


  reply	other threads:[~2011-11-17 12:08 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-15  7:01 [patch 0/5] pending tracepoint Yao Qi
2011-11-15  7:30 ` [patch 1/5] Call update_global_location_list conditionally in install_breakpoint Yao Qi
2011-11-16 19:04   ` Pedro Alves
2011-11-15  7:43 ` [patch 2/5] allow pending tracepoint Yao Qi
2011-11-16 19:04   ` Pedro Alves
2011-11-17  1:12     ` Yao Qi
2011-11-15  7:47 ` [patch 3/5] Print a message on gdb disconnected Yao Qi
2011-11-15 15:32   ` Tom Tromey
2011-11-16  3:17     ` Yao Qi
2011-11-16 19:04   ` Pedro Alves
2011-11-17  3:32     ` Yao Qi
2011-11-17 11:08       ` Pedro Alves
2011-11-15  8:03 ` [patch 4/5] Test cases Yao Qi
2011-11-16 19:05   ` Pedro Alves
2011-11-17  3:27     ` Yao Qi
2011-11-17 12:08       ` Pedro Alves [this message]
2011-11-17 14:09         ` Yao Qi
2011-11-17 14:54           ` Pedro Alves
2011-11-15  8:08 ` [patch 5/5] Document Yao Qi
2011-11-15 14:29   ` Luis Machado
2011-11-15 14:57     ` Yao Qi
2011-11-15 15:04       ` Luis Machado
2011-11-15 17:02         ` Eli Zaretskii
2011-11-15 17:06   ` Eli Zaretskii
2011-11-16  3:13     ` Yao Qi
2011-11-16  4:01       ` Eli Zaretskii
2011-11-16 19:04       ` Pedro Alves
2011-11-17  3:25         ` Yao Qi
2011-11-17 12:28           ` Pedro Alves
2011-11-17 14:31             ` Yao Qi
2011-11-17 14:41               ` Pedro Alves
2011-11-17 15:17                 ` Yao Qi

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=201111171207.42605.pedro@codesourcery.com \
    --to=pedro@codesourcery.com \
    --cc=gdb-patches@sourceware.org \
    --cc=yao@codesourcery.com \
    /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