summaryrefslogtreecommitdiff
path: root/tests/test-string-input-visitor.c
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2016-04-28 15:45:29 -0600
committerMarkus Armbruster <armbru@redhat.com>2016-05-12 09:47:55 +0200
commit7337468385f0ad258657b2ce76ac0a7306f9f186 (patch)
tree046df7bf5fbc8f054d0b604f32239fdaaf4abbac /tests/test-string-input-visitor.c
parent15c2f669e3fb2bc97f7b42d1871f595c0ac24af8 (diff)
downloadqemu-7337468385f0ad258657b2ce76ac0a7306f9f186.tar.gz
tests/string-input-visitor: Add negative integer tests
Add two negative tests, one for int and one for int16List. The latter exposes a bug: nonsensical input results in an empty list instead of an error. Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-Id: <1461325048-14122-1-git-send-email-armbru@redhat.com> Signed-off-by: Eric Blake <eblake@redhat.com> Message-Id: <1461879932-9020-22-git-send-email-eblake@redhat.com>
Diffstat (limited to 'tests/test-string-input-visitor.c')
-rw-r--r--tests/test-string-input-visitor.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/test-string-input-visitor.c b/tests/test-string-input-visitor.c
index 9e6906a567..81149084a2 100644
--- a/tests/test-string-input-visitor.c
+++ b/tests/test-string-input-visitor.c
@@ -63,6 +63,13 @@ static void test_visitor_in_int(TestInputVisitorData *data,
visit_type_int(v, NULL, &res, &err);
g_assert(!err);
g_assert_cmpint(res, ==, value);
+
+ visitor_input_teardown(data, unused);
+
+ v = visitor_input_test_init(data, "not an int");
+
+ visit_type_int(v, NULL, &res, &err);
+ error_free_or_abort(&err);
}
static void test_visitor_in_intList(TestInputVisitorData *data,
@@ -70,6 +77,7 @@ static void test_visitor_in_intList(TestInputVisitorData *data,
{
int64_t value[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 20};
int16List *res = NULL, *tmp;
+ Error *err = NULL;
Visitor *v;
int i = 0;
@@ -90,6 +98,13 @@ static void test_visitor_in_intList(TestInputVisitorData *data,
g_free(tmp);
tmp = res;
}
+
+ visitor_input_teardown(data, unused);
+
+ v = visitor_input_test_init(data, "not an int list");
+
+ visit_type_int16List(v, NULL, &res, &err);
+ /* FIXME fix the visitor, then error_free_or_abort(&err) here */
}
static void test_visitor_in_bool(TestInputVisitorData *data,