mirror of https://gitlab.com/qemu-project/qemu
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:
parent
363e13f86e
commit
0abfc4b885
|
@ -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);
|
||||||
|
|
|
@ -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);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue