All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: "Marc-André Lureau" <marcandre.lureau@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v2 10/14] tests: add qlit tests
Date: Wed, 30 Aug 2017 14:15:48 +0200	[thread overview]
Message-ID: <87efrtgsjv.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <20170825105913.4060-11-marcandre.lureau@redhat.com> ("Marc-André Lureau"'s message of "Fri, 25 Aug 2017 12:59:09 +0200")

Marc-André Lureau <marcandre.lureau@redhat.com> writes:

> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  tests/check-qlit.c     | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++
>  tests/Makefile.include |  5 +++-
>  2 files changed, 68 insertions(+), 1 deletion(-)
>  create mode 100644 tests/check-qlit.c
>
> diff --git a/tests/check-qlit.c b/tests/check-qlit.c
> new file mode 100644
> index 0000000000..47fde92a46
> --- /dev/null
> +++ b/tests/check-qlit.c
> @@ -0,0 +1,64 @@
> +/*
> + * QLit unit-tests.
> + *
> + * Copyright (C) 2017 Red Hat Inc.
> + *
> + * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
> + * See the COPYING.LIB file in the top-level directory.

Please use GPLv2+ unless you have a specific reason for something else.
In that case, explain your reason in the commit message.

May I change the copyright notice to GPLv2+ for you?

> + */
> +
> +#include "qemu/osdep.h"
> +
> +#include "qapi/qmp/qbool.h"
> +#include "qapi/qmp/qdict.h"
> +#include "qapi/qmp/qlit.h"
> +#include "qapi/qmp/qnum.h"
> +#include "qapi/qmp/qstring.h"
> +
> +static QLitObject qlit = QLIT_QDICT(((QLitDictEntry[]) {
> +    { "foo", QLIT_QNUM(42) },
> +    { "bar", QLIT_QSTR("hello world") },
> +    { "baz", QLIT_QNULL },
> +    { "bee", QLIT_QLIST(((QLitObject[]) {
> +        QLIT_QNUM(43),
> +        QLIT_QNUM(44),
> +        QLIT_QBOOL(true),
> +        { },
> +    }))},
> +    { },
> +}));
> +
> +static QObject *make_qobject(void)
> +{
> +    QDict *qdict = qdict_new();
> +    QList *list = qlist_new();
> +
> +    qdict_put_int(qdict, "foo", 42);
> +    qdict_put_str(qdict, "bar", "hello world");
> +    qdict_put_null(qdict, "baz");
> +
> +    qlist_append_int(list, 43);
> +    qlist_append_int(list, 44);
> +    qlist_append_bool(list, true);
> +    qdict_put(qdict, "bee", list);
> +
> +    return QOBJECT(qdict);
> +}
> +
> +static void qlit_equal_qobject_test(void)
> +{
> +    QObject *qobj = make_qobject();
> +
> +    g_assert(qlit_equal_qobject(&qlit, qobj));
> +
> +    qobject_decref(qobj);
> +}
> +
> +int main(int argc, char **argv)
> +{
> +    g_test_init(&argc, &argv, NULL);
> +
> +    g_test_add_func("/qlit/equal_qobject", qlit_equal_qobject_test);
> +
> +    return g_test_run();
> +}

We also need negative tests.  Could be done as follow-up patch.

> diff --git a/tests/Makefile.include b/tests/Makefile.include
> index 37c1bed683..3653c7b40a 100644
> --- a/tests/Makefile.include
> +++ b/tests/Makefile.include
> @@ -43,6 +43,8 @@ check-unit-y += tests/check-qnull$(EXESUF)
>  gcov-files-check-qnull-y = qobject/qnull.c
>  check-unit-y += tests/check-qjson$(EXESUF)
>  gcov-files-check-qjson-y = qobject/qjson.c
> +check-unit-y += tests/check-qlit$(EXESUF)
> +gcov-files-check-qlit-y = qobject/qlit.c
>  check-unit-y += tests/test-qobject-output-visitor$(EXESUF)
>  gcov-files-test-qobject-output-visitor-y = qapi/qobject-output-visitor.c
>  check-unit-y += tests/test-clone-visitor$(EXESUF)
> @@ -535,7 +537,7 @@ GENERATED_FILES += tests/test-qapi-types.h tests/test-qapi-visit.h \
>  
>  test-obj-y = tests/check-qnum.o tests/check-qstring.o tests/check-qdict.o \
>  	tests/check-qlist.o tests/check-qnull.o \
> -	tests/check-qjson.o \
> +	tests/check-qjson.o tests/check-qlit.o \
>  	tests/test-coroutine.o tests/test-string-output-visitor.o \
>  	tests/test-string-input-visitor.o tests/test-qobject-output-visitor.o \
>  	tests/test-clone-visitor.o \
> @@ -569,6 +571,7 @@ tests/check-qdict$(EXESUF): tests/check-qdict.o $(test-util-obj-y)
>  tests/check-qlist$(EXESUF): tests/check-qlist.o $(test-util-obj-y)
>  tests/check-qnull$(EXESUF): tests/check-qnull.o $(test-util-obj-y)
>  tests/check-qjson$(EXESUF): tests/check-qjson.o $(test-util-obj-y)
> +tests/check-qlit$(EXESUF): tests/check-qlit.o $(test-util-obj-y)
>  tests/check-qom-interface$(EXESUF): tests/check-qom-interface.o $(test-qom-obj-y)
>  tests/check-qom-proplist$(EXESUF): tests/check-qom-proplist.o $(test-qom-obj-y)

  reply	other threads:[~2017-08-30 12:15 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-25 10:58 [Qemu-devel] [PATCH v2 00/14] Generate a literal qobject for introspection Marc-André Lureau
2017-08-25 10:59 ` [Qemu-devel] [PATCH v2 01/14] qdict: add qdict_put_null() helper Marc-André Lureau
2017-08-25 12:58   ` Eduardo Habkost
2017-08-25 15:31   ` Eric Blake
2017-08-30 12:01     ` Markus Armbruster
2017-08-30 13:54       ` Eric Blake
2017-08-31 13:58       ` Markus Armbruster
2017-08-25 10:59 ` [Qemu-devel] [PATCH v2 02/14] qlit: move qlit from check-qjson to qobject/ Marc-André Lureau
2017-08-25 10:59 ` [Qemu-devel] [PATCH v2 03/14] qlit: use QLit prefix consistently Marc-André Lureau
2017-08-25 10:59 ` [Qemu-devel] [PATCH v2 04/14] qlit: remove compound literals Marc-André Lureau
2017-08-30 12:00   ` Markus Armbruster
2017-08-30 12:11     ` Marc-André Lureau
2017-08-30 13:02       ` Markus Armbruster
2017-08-30 13:19         ` Marc-André Lureau
2017-08-31  8:42           ` Markus Armbruster
2017-08-31  9:14             ` Marc-André Lureau
2017-08-31 13:50               ` Markus Armbruster
2017-08-31 15:28             ` Laszlo Ersek
2017-09-01  9:51               ` Markus Armbruster
2017-08-25 10:59 ` [Qemu-devel] [PATCH v2 05/14] qlit: rename compare_litqobj_to_qobj() to qlit_equal_qobject() Marc-André Lureau
2017-08-25 10:59 ` [Qemu-devel] [PATCH v2 06/14] qlit: make qlit_equal_qobject return a bool Marc-André Lureau
2017-08-25 10:59 ` [Qemu-devel] [PATCH v2 07/14] qlit: make qlit_equal_qobject() take const arguments Marc-André Lureau
2017-08-25 10:59 ` [Qemu-devel] [PATCH v2 08/14] qlit: add QLIT_QNULL and QLIT_BOOL Marc-André Lureau
2017-08-25 10:59 ` [Qemu-devel] [PATCH v2 09/14] qlit: Replace open-coded qnum_get_int() by call Marc-André Lureau
2017-08-25 10:59 ` [Qemu-devel] [PATCH v2 10/14] tests: add qlit tests Marc-André Lureau
2017-08-30 12:15   ` Markus Armbruster [this message]
2017-08-30 12:23     ` Marc-André Lureau
2017-08-25 10:59 ` [Qemu-devel] [PATCH v2 11/14] qlit: improve QLit dict vs qdict comparison Marc-André Lureau
2017-08-30 12:35   ` Markus Armbruster
2017-08-30 13:05     ` Marc-André Lureau
2017-08-25 10:59 ` [Qemu-devel] [PATCH v2 12/14] qlit: improve QLit list vs qlist comparison Marc-André Lureau
2017-08-30 12:36   ` Markus Armbruster
2017-08-31 14:20     ` Markus Armbruster
2017-08-31 14:37       ` Marc-André Lureau
2017-08-25 10:59 ` [Qemu-devel] [PATCH v2 13/14] qlit: add qobject_form_qlit() Marc-André Lureau
2017-08-25 15:35   ` Eric Blake
2017-08-30 12:53   ` Markus Armbruster
2017-08-30 13:00     ` Marc-André Lureau
2017-08-25 10:59 ` [Qemu-devel] [PATCH v2 14/14] qapi: generate a literal qobject for introspection Marc-André Lureau
2017-09-01 12:06 ` [Qemu-devel] [PATCH v2 00/14] Generate " Markus Armbruster

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=87efrtgsjv.fsf@dusky.pond.sub.org \
    --to=armbru@redhat.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.