aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorEric Blake <eblake@redhat.com>2017-03-22 09:45:25 -0500
committerMichael Roth <mdroth@linux.vnet.ibm.com>2017-03-30 12:35:02 -0500
commit2f8ab9b1dd59d9c262ccca872ba476d23f6cf8ff (patch)
tree12e9f03613f719e6a6ed7e3c2d4dc87fa17900a5 /tests
parentc15c6d25949a4bba272d576a2468cfe866e11486 (diff)
qapi: Fix QemuOpts visitor regression on unvisited input
An off-by-one in commit 15c2f669e meant that we were failing to check for unparsed input in all QemuOpts visitors. Recent testsuite additions show that fixing the obvious bug with bogus fields will also fix the case of an incomplete list visit; update the tests to match the new behavior. Simple testcase: ./x86_64-softmmu/qemu-system-x86_64 -nodefaults -nographic -qmp stdio -numa node,size=1g failed to diagnose that 'size' is not a valid argument to -numa, and now once again reports: qemu-system-x86_64: -numa node,size=1g: Invalid parameter 'size' See also https://bugzilla.redhat.com/show_bug.cgi?id=1434666 CC: qemu-stable@nongnu.org Signed-off-by: Eric Blake <eblake@redhat.com> Reviewed-by: Michael Roth <mdroth@linux.vnet.ibm.com> Tested-by: Laurent Vivier <lvivier@redhat.com> Message-Id: <20170322144525.18964-4-eblake@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com> (cherry picked from commit 21f88d021d0d2b4ecee8f6cd6ca63a943a3ce71d) Conflicts: qapi/opts-visitor.c tests/test-opts-visitor.c * drop changes related to 9cb8ef36 and a9416dc6 tests Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/test-opts-visitor.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/tests/test-opts-visitor.c b/tests/test-opts-visitor.c
index 8befe82918..2886a722e4 100644
--- a/tests/test-opts-visitor.c
+++ b/tests/test-opts-visitor.c
@@ -175,6 +175,7 @@ expect_u64_max(OptsVisitorFixture *f, gconstpointer test_data)
static void
test_opts_dict_unvisited(void)
{
+ Error *err = NULL;
QemuOpts *opts;
Visitor *v;
UserDefOptions *userdef;
@@ -183,11 +184,11 @@ test_opts_dict_unvisited(void)
&error_abort);
v = opts_visitor_new(opts);
- /* BUG: bogus should be diagnosed */
- visit_type_UserDefOptions(v, NULL, &userdef, &error_abort);
+ visit_type_UserDefOptions(v, NULL, &userdef, &err);
+ error_free_or_abort(&err);
visit_free(v);
qemu_opts_del(opts);
- qapi_free_UserDefOptions(userdef);
+ g_assert(!userdef);
}
int