[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 11/16] tests: Don't check qobject_type() before qobje
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PULL 11/16] tests: Don't check qobject_type() before qobject_to_qstring() |
Date: |
Wed, 22 Feb 2017 20:14:53 +0100 |
qobject_to_qstring(obj) returns NULL when obj isn't a QString. Check
that instead of qobject_type(obj) == QTYPE_QSTRING.
Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
---
tests/check-qjson.c | 31 ++++++++-----------------------
tests/test-qobject-output-visitor.c | 37 +++++++++++++++++--------------------
2 files changed, 25 insertions(+), 43 deletions(-)
diff --git a/tests/check-qjson.c b/tests/check-qjson.c
index 49e02591..dd080a8 100644
--- a/tests/check-qjson.c
+++ b/tests/check-qjson.c
@@ -54,11 +54,8 @@ static void escaped_string(void)
QString *str;
obj = qobject_from_json(test_cases[i].encoded);
-
- g_assert(obj != NULL);
- g_assert(qobject_type(obj) == QTYPE_QSTRING);
-
str = qobject_to_qstring(obj);
+ g_assert(str);
g_assert_cmpstr(qstring_get_str(str), ==, test_cases[i].decoded);
if (test_cases[i].skip == 0) {
@@ -89,11 +86,8 @@ static void simple_string(void)
QString *str;
obj = qobject_from_json(test_cases[i].encoded);
-
- g_assert(obj != NULL);
- g_assert(qobject_type(obj) == QTYPE_QSTRING);
-
str = qobject_to_qstring(obj);
+ g_assert(str);
g_assert(strcmp(qstring_get_str(str), test_cases[i].decoded) == 0);
str = qobject_to_json(obj);
@@ -123,11 +117,8 @@ static void single_quote_string(void)
QString *str;
obj = qobject_from_json(test_cases[i].encoded);
-
- g_assert(obj != NULL);
- g_assert(qobject_type(obj) == QTYPE_QSTRING);
-
str = qobject_to_qstring(obj);
+ g_assert(str);
g_assert(strcmp(qstring_get_str(str), test_cases[i].decoded) == 0);
QDECREF(str);
@@ -820,9 +811,8 @@ static void utf8_string(void)
obj = qobject_from_json(json_in);
if (utf8_out) {
- g_assert(obj);
- g_assert(qobject_type(obj) == QTYPE_QSTRING);
str = qobject_to_qstring(obj);
+ g_assert(str);
g_assert_cmpstr(qstring_get_str(str), ==, utf8_out);
} else {
g_assert(!obj);
@@ -847,9 +837,8 @@ static void utf8_string(void)
*/
if (0 && json_out != json_in) {
obj = qobject_from_json(json_out);
- g_assert(obj);
- g_assert(qobject_type(obj) == QTYPE_QSTRING);
str = qobject_to_qstring(obj);
+ g_assert(str);
g_assert_cmpstr(qstring_get_str(str), ==, utf8_out);
}
}
@@ -867,15 +856,11 @@ static void vararg_string(void)
};
for (i = 0; test_cases[i].decoded; i++) {
- QObject *obj;
QString *str;
- obj = qobject_from_jsonf("%s", test_cases[i].decoded);
-
- g_assert(obj != NULL);
- g_assert(qobject_type(obj) == QTYPE_QSTRING);
-
- str = qobject_to_qstring(obj);
+ str = qobject_to_qstring(qobject_from_jsonf("%s",
+ test_cases[i].decoded));
+ g_assert(str);
g_assert(strcmp(qstring_get_str(str), test_cases[i].decoded) == 0);
QDECREF(str);
diff --git a/tests/test-qobject-output-visitor.c
b/tests/test-qobject-output-visitor.c
index 13a0a9b..3e34aa5 100644
--- a/tests/test-qobject-output-visitor.c
+++ b/tests/test-qobject-output-visitor.c
@@ -97,42 +97,41 @@ static void test_visitor_out_string(TestOutputVisitorData
*data,
const void *unused)
{
char *string = (char *) "Q E M U";
- QObject *obj;
+ QString *qstr;
visit_type_str(data->ov, NULL, &string, &error_abort);
- obj = visitor_get(data);
- g_assert(qobject_type(obj) == QTYPE_QSTRING);
- g_assert_cmpstr(qstring_get_str(qobject_to_qstring(obj)), ==, string);
+ qstr = qobject_to_qstring(visitor_get(data));
+ g_assert(qstr);
+ g_assert_cmpstr(qstring_get_str(qstr), ==, string);
}
static void test_visitor_out_no_string(TestOutputVisitorData *data,
const void *unused)
{
char *string = NULL;
- QObject *obj;
+ QString *qstr;
/* A null string should return "" */
visit_type_str(data->ov, NULL, &string, &error_abort);
- obj = visitor_get(data);
- g_assert(qobject_type(obj) == QTYPE_QSTRING);
- g_assert_cmpstr(qstring_get_str(qobject_to_qstring(obj)), ==, "");
+ qstr = qobject_to_qstring(visitor_get(data));
+ g_assert(qstr);
+ g_assert_cmpstr(qstring_get_str(qstr), ==, "");
}
static void test_visitor_out_enum(TestOutputVisitorData *data,
const void *unused)
{
- QObject *obj;
EnumOne i;
+ QString *qstr;
for (i = 0; i < ENUM_ONE__MAX; i++) {
visit_type_EnumOne(data->ov, "unused", &i, &error_abort);
- obj = visitor_get(data);
- g_assert(qobject_type(obj) == QTYPE_QSTRING);
- g_assert_cmpstr(qstring_get_str(qobject_to_qstring(obj)), ==,
- EnumOne_lookup[i]);
+ qstr = qobject_to_qstring(visitor_get(data));
+ g_assert(qstr);
+ g_assert_cmpstr(qstring_get_str(qstr), ==, EnumOne_lookup[i]);
visitor_reset(data);
}
}
@@ -365,9 +364,7 @@ static void test_visitor_out_any(TestOutputVisitorData
*data,
qbool = qobject_to_qbool(qobj);
g_assert(qbool);
g_assert(qbool_get_bool(qbool) == true);
- qobj = qdict_get(qdict, "string");
- g_assert(qobj);
- qstring = qobject_to_qstring(qobj);
+ qstring = qobject_to_qstring(qdict_get(qdict, "string"));
g_assert(qstring);
g_assert_cmpstr(qstring_get_str(qstring), ==, "foo");
}
@@ -399,6 +396,7 @@ static void
test_visitor_out_alternate(TestOutputVisitorData *data,
{
QObject *arg;
UserDefAlternate *tmp;
+ QString *qstr;
QDict *qdict;
tmp = g_new0(UserDefAlternate, 1);
@@ -419,10 +417,9 @@ static void
test_visitor_out_alternate(TestOutputVisitorData *data,
tmp->u.s = g_strdup("hello");
visit_type_UserDefAlternate(data->ov, NULL, &tmp, &error_abort);
- arg = visitor_get(data);
-
- g_assert(qobject_type(arg) == QTYPE_QSTRING);
- g_assert_cmpstr(qstring_get_str(qobject_to_qstring(arg)), ==, "hello");
+ qstr = qobject_to_qstring(visitor_get(data));
+ g_assert(qstr);
+ g_assert_cmpstr(qstring_get_str(qstr), ==, "hello");
qapi_free_UserDefAlternate(tmp);
--
2.7.4
- [Qemu-devel] [PULL 00/16] QAPI patches for 2017-02-22, Markus Armbruster, 2017/02/22
- [Qemu-devel] [PULL 08/16] test-qmp-event: Simplify and tighten event_test_emit(), Markus Armbruster, 2017/02/22
- [Qemu-devel] [PULL 07/16] libqtest: Clean up qmp_response() a bit, Markus Armbruster, 2017/02/22
- [Qemu-devel] [PULL 01/16] numa: Flatten simple union NumaOptions, Markus Armbruster, 2017/02/22
- [Qemu-devel] [PULL 13/16] tests: Don't check qobject_type() before qobject_to_qfloat(), Markus Armbruster, 2017/02/22
- [Qemu-devel] [PULL 10/16] tests: Don't check qobject_type() before qobject_to_qlist(), Markus Armbruster, 2017/02/22
- [Qemu-devel] [PULL 16/16] block: Don't bother asserting type of output visitor's output, Markus Armbruster, 2017/02/22
- [Qemu-devel] [PULL 06/16] check-qjson: Simplify around compare_litqobj_to_qobj(), Markus Armbruster, 2017/02/22
- [Qemu-devel] [PULL 11/16] tests: Don't check qobject_type() before qobject_to_qstring(),
Markus Armbruster <=
- [Qemu-devel] [PULL 03/16] qdict: Make qdict_get_qlist() safe like qdict_get_qdict(), Markus Armbruster, 2017/02/22
- [Qemu-devel] [PULL 02/16] net: Flatten simple union NetLegacyOptions, Markus Armbruster, 2017/02/22
- [Qemu-devel] [PULL 04/16] check-qdict: Simplify qdict_crumple_test_recursive(), Markus Armbruster, 2017/02/22
- [Qemu-devel] [PULL 05/16] check-qdict: Tighten qdict_crumple_test_recursive() some, Markus Armbruster, 2017/02/22
- [Qemu-devel] [PULL 15/16] monitor: Clean up handle_hmp_command() a bit, Markus Armbruster, 2017/02/22
- [Qemu-devel] [PULL 12/16] tests: Don't check qobject_type() before qobject_to_qint(), Markus Armbruster, 2017/02/22
- [Qemu-devel] [PULL 14/16] tests: Don't check qobject_type() before qobject_to_qbool(), Markus Armbruster, 2017/02/22
- [Qemu-devel] [PULL 09/16] Don't check qobject_type() before qobject_to_qdict(), Markus Armbruster, 2017/02/22
- Re: [Qemu-devel] [PULL 00/16] QAPI patches for 2017-02-22, Peter Maydell, 2017/02/24