diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/check-qjson.c | 1 | ||||
| -rw-r--r-- | tests/libqtest.c | 10 |
2 files changed, 4 insertions, 7 deletions
diff --git a/tests/check-qjson.c b/tests/check-qjson.c index defc21fa04..604886a1a2 100644 --- a/tests/check-qjson.c +++ b/tests/check-qjson.c @@ -1438,7 +1438,6 @@ static void multiple_values(void) qobject_unref(obj); /* BUG simultaneously succeeds and fails */ - /* BUG calls json_parser_parse() with errp pointing to non-null */ obj = qobject_from_json("} true", &err); g_assert(qbool_get_bool(qobject_to(QBool, obj))); error_free_or_abort(&err); diff --git a/tests/libqtest.c b/tests/libqtest.c index af2a24e796..1f3b0cb1b1 100644 --- a/tests/libqtest.c +++ b/tests/libqtest.c @@ -21,9 +21,9 @@ #include <sys/un.h> #include "libqtest.h" +#include "qemu-common.h" #include "qemu/cutils.h" #include "qapi/error.h" -#include "qapi/qmp/json-parser.h" #include "qapi/qmp/json-streamer.h" #include "qapi/qmp/qdict.h" #include "qapi/qmp/qjson.h" @@ -446,12 +446,10 @@ typedef struct { QDict *response; } QMPResponseParser; -static void qmp_response(JSONMessageParser *parser, GQueue *tokens) +static void qmp_response(void *opaque, QObject *obj, Error *err) { - QMPResponseParser *qmp = container_of(parser, QMPResponseParser, parser); - QObject *obj; + QMPResponseParser *qmp = opaque; - obj = json_parser_parse(tokens, NULL); if (!obj) { fprintf(stderr, "QMP JSON response parsing failed\n"); abort(); @@ -468,7 +466,7 @@ QDict *qmp_fd_receive(int fd) bool log = getenv("QTEST_LOG") != NULL; qmp.response = NULL; - json_message_parser_init(&qmp.parser, qmp_response); + json_message_parser_init(&qmp.parser, qmp_response, &qmp, NULL); while (!qmp.response) { ssize_t len; char c; |