From: Markus Armbruster <arm...@redhat.com> 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 <arm...@redhat.com> Message-Id: <1461325048-14122-1-git-send-email-arm...@redhat.com> Signed-off-by: Eric Blake <ebl...@redhat.com> --- v15: new patch --- tests/test-string-input-visitor.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tests/test-string-input-visitor.c b/tests/test-string-input-visitor.c index 9e6906a..8114908 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, -- 2.5.5