提交 13088593 编写于 作者: D David Hildenbrand 提交者: Markus Armbruster

test-string-input-visitor: Use virtual walk

We now support virtual walks, so use that instead.
Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
Reviewed-by: NEric Blake <eblake@redhat.com>
Signed-off-by: NDavid Hildenbrand <david@redhat.com>
Message-Id: <20181121164421.20780-8-david@redhat.com>
Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
上级 c9fba9de
......@@ -115,7 +115,6 @@ static void test_visitor_in_intList(TestInputVisitorData *data,
uint64_t expect5[] = { UINT64_MAX };
Error *err = NULL;
int64List *res = NULL;
int64List *tail;
Visitor *v;
int64_t val;
......@@ -188,39 +187,28 @@ static void test_visitor_in_intList(TestInputVisitorData *data,
v = visitor_input_test_init(data, "0,2-3");
/* Would be simpler if the visitor genuinely supported virtual walks */
visit_start_list(v, NULL, (GenericList **)&res, sizeof(*res),
&error_abort);
tail = res;
visit_type_int64(v, NULL, &tail->value, &error_abort);
g_assert_cmpint(tail->value, ==, 0);
tail = (int64List *)visit_next_list(v, (GenericList *)tail, sizeof(*res));
g_assert(tail);
visit_type_int64(v, NULL, &tail->value, &error_abort);
g_assert_cmpint(tail->value, ==, 2);
tail = (int64List *)visit_next_list(v, (GenericList *)tail, sizeof(*res));
g_assert(tail);
visit_start_list(v, NULL, NULL, 0, &error_abort);
visit_type_int64(v, NULL, &val, &error_abort);
g_assert_cmpint(val, ==, 0);
visit_type_int64(v, NULL, &val, &error_abort);
g_assert_cmpint(val, ==, 2);
visit_check_list(v, &err);
error_free_or_abort(&err);
visit_end_list(v, (void **)&res);
qapi_free_int64List(res);
visit_end_list(v, NULL);
/* Visit beyond end of list */
v = visitor_input_test_init(data, "0");
visit_start_list(v, NULL, (GenericList **)&res, sizeof(*res),
&error_abort);
tail = res;
visit_type_int64(v, NULL, &tail->value, &err);
g_assert_cmpint(tail->value, ==, 0);
visit_start_list(v, NULL, NULL, 0, &error_abort);
visit_type_int64(v, NULL, &val, &err);
g_assert_cmpint(val, ==, 0);
visit_type_int64(v, NULL, &val, &err);
error_free_or_abort(&err);
visit_check_list(v, &error_abort);
visit_end_list(v, (void **)&res);
qapi_free_int64List(res);
visit_check_list(v, &error_abort);
visit_end_list(v, NULL);
}
static void test_visitor_in_bool(TestInputVisitorData *data,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册