diff options
author | Markus Armbruster | 2016-04-28 23:45:29 +0200 |
---|---|---|
committer | Markus Armbruster | 2016-05-12 09:47:55 +0200 |
commit | 7337468385f0ad258657b2ce76ac0a7306f9f186 (patch) | |
tree | 046df7bf5fbc8f054d0b604f32239fdaaf4abbac /tests | |
parent | qapi: Split visit_end_struct() into pieces (diff) | |
download | qemu-7337468385f0ad258657b2ce76ac0a7306f9f186.tar.gz qemu-7337468385f0ad258657b2ce76ac0a7306f9f186.tar.xz qemu-7337468385f0ad258657b2ce76ac0a7306f9f186.zip |
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')
-rw-r--r-- | tests/test-string-input-visitor.c | 15 |
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, |