From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38438) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WsTz5-0006GY-IF for qemu-devel@nongnu.org; Thu, 05 Jun 2014 05:29:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WsTyt-0002E9-Rn for qemu-devel@nongnu.org; Thu, 05 Jun 2014 05:29:19 -0400 Received: from mail-wi0-x22c.google.com ([2a00:1450:400c:c05::22c]:39964) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WsTyt-0002Dy-CF for qemu-devel@nongnu.org; Thu, 05 Jun 2014 05:29:07 -0400 Received: by mail-wi0-f172.google.com with SMTP id hi2so9959528wib.17 for ; Thu, 05 Jun 2014 02:29:06 -0700 (PDT) Date: Thu, 5 Jun 2014 11:29:03 +0200 From: Stefan Hajnoczi Message-ID: <20140605092903.GF27366@stefanha-thinkpad.redhat.com> References: <1401947118-19973-1-git-send-email-akong@redhat.com> <1401947118-19973-3-git-send-email-akong@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1401947118-19973-3-git-send-email-akong@redhat.com> Subject: Re: [Qemu-devel] [PATCH v2 2/4] qtest: introduce qmp_exec_hmp_cmd() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Amos Kong Cc: mst@redhat.com, qemu-devel@nongnu.org, afaerber@suse.de On Thu, Jun 05, 2014 at 01:45:16PM +0800, Amos Kong wrote: > Signed-off-by: Amos Kong > --- > tests/libqtest.c | 16 ++++++++++++++++ > tests/libqtest.h | 8 ++++++++ > 2 files changed, 24 insertions(+) > > diff --git a/tests/libqtest.c b/tests/libqtest.c > index 71468ac..ceb1734 100644 > --- a/tests/libqtest.c > +++ b/tests/libqtest.c > @@ -646,3 +646,19 @@ void qmp_discard_response(const char *fmt, ...) > qtest_qmpv_discard_response(global_qtest, fmt, ap); > va_end(ap); > } > + > +void qmp_exec_hmp_cmd(const char *cmd, const char *expected_ret) > +{ > + QDict *response; > + const char *response_return; > + > + response = qmp("{\"execute\": \"human-monitor-command\"," > + " \"arguments\": {" > + " \"command-line\": \"%s\"" > + "}}", g_strescape(cmd, NULL)); You need to free the g_strescape() return value after using it. > + g_assert(response); > + response_return = qdict_get_try_str(response, "return"); > + g_assert(response_return); > + g_assert_cmpstr(response_return, ==, expected_ret); > + QDECREF(response); > +} > diff --git a/tests/libqtest.h b/tests/libqtest.h > index 8f323c7..e095df2 100644 > --- a/tests/libqtest.h > +++ b/tests/libqtest.h > @@ -375,6 +375,14 @@ QDict *qmp(const char *fmt, ...); > void qmp_discard_response(const char *fmt, ...); > > /** > + * qmp_exec_hmp_cmd: > + * @fmt...: HMP command to execute 'fmt...' doesn't exist. Please document cmd and expected_ret. > + * > + * Executes HMP command by 'human-monitor-command'. > + */ > +void qmp_exec_hmp_cmd(const char *cmd, const char *expected_ret); > + > +/** > * qmp_receive: > * > * Reads a QMP message from QEMU and returns the response. > -- > 1.9.3 >