From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50612) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wmle0-0001YK-JH for qemu-devel@nongnu.org; Tue, 20 May 2014 11:08:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Wmldu-0005ZP-Dv for qemu-devel@nongnu.org; Tue, 20 May 2014 11:07:56 -0400 Received: from mx1.redhat.com ([209.132.183.28]:9247) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wmldu-0005Yq-78 for qemu-devel@nongnu.org; Tue, 20 May 2014 11:07:50 -0400 From: Marcel Apfelbaum Date: Tue, 20 May 2014 18:07:59 +0300 Message-Id: <1400598479-27118-1-git-send-email-marcel.a@redhat.com> Subject: [Qemu-devel] [PATCH] tests: check empty qmp output visitor List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: mdroth@linux.vnet.ibm.com, armbru@redhat.com, lcapitulino@redhat.com, akong@redhat.com, afaerber@suse.de Checks the output visitor behaviour for NULL values. Signed-off-by: Marcel Apfelbaum --- Notes: - I didn't add Michael's Sob because I tweaked the test a little. - To be added on top of "qapi: output visitor crashes qemu if it encounters a NULL value", otherwise the test will fail. tests/test-qmp-output-visitor.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tests/test-qmp-output-visitor.c b/tests/test-qmp-output-visitor.c index 9c15458..de1bf83 100644 --- a/tests/test-qmp-output-visitor.c +++ b/tests/test-qmp-output-visitor.c @@ -507,6 +507,19 @@ static void test_visitor_out_union_anon(TestOutputVisitorData *data, qapi_free_UserDefAnonUnion(tmp); } +static void test_visitor_out_empty(TestOutputVisitorData *data, + const void *unused) +{ + QObject *arg; + QDict *qdict; + + arg = qmp_output_get_qobject(data->qov); + if (arg) { + qdict = qobject_to_qdict(arg); + QDECREF(qdict); + } +} + static void init_native_list(UserDefNativeListUnion *cvalue) { int i; @@ -859,6 +872,8 @@ int main(int argc, char **argv) &out_visitor_data, test_visitor_out_union_flat); output_visitor_test_add("/visitor/output/union-anon", &out_visitor_data, test_visitor_out_union_anon); + output_visitor_test_add("/visitor/output/empty", + &out_visitor_data, test_visitor_out_empty); output_visitor_test_add("/visitor/output/native_list/int", &out_visitor_data, test_visitor_out_native_list_int); output_visitor_test_add("/visitor/output/native_list/int8", -- 1.8.3.1