tests: Don't check qobject_type() before qobject_to_qint()

qobject_to_qint(obj) returns NULL when obj isn't a QInt.  Check
that instead of qobject_type(obj) == QTYPE_QINT.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <1487363905-9480-11-git-send-email-armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
Markus Armbruster 2017-02-17 21:38:21 +01:00
parent 363e13f86e
commit 0abfc4b885
2 changed files with 17 additions and 35 deletions

View File

@ -884,19 +884,15 @@ static void simple_number(void)
}; };
for (i = 0; test_cases[i].encoded; i++) { for (i = 0; test_cases[i].encoded; i++) {
QObject *obj;
QInt *qint; QInt *qint;
obj = qobject_from_json(test_cases[i].encoded); qint = qobject_to_qint(qobject_from_json(test_cases[i].encoded));
g_assert(obj != NULL); g_assert(qint);
g_assert(qobject_type(obj) == QTYPE_QINT);
qint = qobject_to_qint(obj);
g_assert(qint_get_int(qint) == test_cases[i].decoded); g_assert(qint_get_int(qint) == test_cases[i].decoded);
if (test_cases[i].skip == 0) { if (test_cases[i].skip == 0) {
QString *str; QString *str;
str = qobject_to_json(obj); str = qobject_to_json(QOBJECT(qint));
g_assert(strcmp(qstring_get_str(str), test_cases[i].encoded) == 0); g_assert(strcmp(qstring_get_str(str), test_cases[i].encoded) == 0);
QDECREF(str); QDECREF(str);
} }
@ -952,22 +948,12 @@ static void vararg_number(void)
long long value_ll = 0x2342342343LL; long long value_ll = 0x2342342343LL;
double valuef = 2.323423423; double valuef = 2.323423423;
obj = qobject_from_jsonf("%d", value); qint = qobject_to_qint(qobject_from_jsonf("%d", value));
g_assert(obj != NULL);
g_assert(qobject_type(obj) == QTYPE_QINT);
qint = qobject_to_qint(obj);
g_assert(qint_get_int(qint) == value); g_assert(qint_get_int(qint) == value);
QDECREF(qint); QDECREF(qint);
obj = qobject_from_jsonf("%lld", value_ll); qint = qobject_to_qint(qobject_from_jsonf("%lld", value_ll));
g_assert(obj != NULL);
g_assert(qobject_type(obj) == QTYPE_QINT);
qint = qobject_to_qint(obj);
g_assert(qint_get_int(qint) == value_ll); g_assert(qint_get_int(qint) == value_ll);
QDECREF(qint); QDECREF(qint);
obj = qobject_from_jsonf("%f", valuef); obj = qobject_from_jsonf("%f", valuef);

View File

@ -58,13 +58,13 @@ static void test_visitor_out_int(TestOutputVisitorData *data,
const void *unused) const void *unused)
{ {
int64_t value = -42; int64_t value = -42;
QObject *obj; QInt *qint;
visit_type_int(data->ov, NULL, &value, &error_abort); visit_type_int(data->ov, NULL, &value, &error_abort);
obj = visitor_get(data); qint = qobject_to_qint(visitor_get(data));
g_assert(qobject_type(obj) == QTYPE_QINT); g_assert(qint);
g_assert_cmpint(qint_get_int(qobject_to_qint(obj)), ==, value); g_assert_cmpint(qint_get_int(qint), ==, value);
} }
static void test_visitor_out_bool(TestOutputVisitorData *data, static void test_visitor_out_bool(TestOutputVisitorData *data,
@ -335,13 +335,12 @@ static void test_visitor_out_any(TestOutputVisitorData *data,
QBool *qbool; QBool *qbool;
QString *qstring; QString *qstring;
QDict *qdict; QDict *qdict;
QObject *obj;
qobj = QOBJECT(qint_from_int(-42)); qobj = QOBJECT(qint_from_int(-42));
visit_type_any(data->ov, NULL, &qobj, &error_abort); visit_type_any(data->ov, NULL, &qobj, &error_abort);
obj = visitor_get(data); qint = qobject_to_qint(visitor_get(data));
g_assert(qobject_type(obj) == QTYPE_QINT); g_assert(qint);
g_assert_cmpint(qint_get_int(qobject_to_qint(obj)), ==, -42); g_assert_cmpint(qint_get_int(qint), ==, -42);
qobject_decref(qobj); qobject_decref(qobj);
visitor_reset(data); visitor_reset(data);
@ -354,9 +353,7 @@ static void test_visitor_out_any(TestOutputVisitorData *data,
qobject_decref(qobj); qobject_decref(qobj);
qdict = qobject_to_qdict(visitor_get(data)); qdict = qobject_to_qdict(visitor_get(data));
g_assert(qdict); g_assert(qdict);
qobj = qdict_get(qdict, "integer"); qint = qobject_to_qint(qdict_get(qdict, "integer"));
g_assert(qobj);
qint = qobject_to_qint(qobj);
g_assert(qint); g_assert(qint);
g_assert_cmpint(qint_get_int(qint), ==, -42); g_assert_cmpint(qint_get_int(qint), ==, -42);
qobj = qdict_get(qdict, "boolean"); qobj = qdict_get(qdict, "boolean");
@ -394,8 +391,8 @@ static void test_visitor_out_union_flat(TestOutputVisitorData *data,
static void test_visitor_out_alternate(TestOutputVisitorData *data, static void test_visitor_out_alternate(TestOutputVisitorData *data,
const void *unused) const void *unused)
{ {
QObject *arg;
UserDefAlternate *tmp; UserDefAlternate *tmp;
QInt *qint;
QString *qstr; QString *qstr;
QDict *qdict; QDict *qdict;
@ -404,10 +401,9 @@ static void test_visitor_out_alternate(TestOutputVisitorData *data,
tmp->u.i = 42; tmp->u.i = 42;
visit_type_UserDefAlternate(data->ov, NULL, &tmp, &error_abort); visit_type_UserDefAlternate(data->ov, NULL, &tmp, &error_abort);
arg = visitor_get(data); qint = qobject_to_qint(visitor_get(data));
g_assert(qint);
g_assert(qobject_type(arg) == QTYPE_QINT); g_assert_cmpint(qint_get_int(qint), ==, 42);
g_assert_cmpint(qint_get_int(qobject_to_qint(arg)), ==, 42);
qapi_free_UserDefAlternate(tmp); qapi_free_UserDefAlternate(tmp);