Message ID | 1445359759-7575-1-git-send-email-mdroth@linux.vnet.ibm.com |
---|---|
State | New |
Headers | show |
Quoting Michael Roth (2015-10-20 11:49:19) > QGA skips pseudo-filesystems when querying filesystems via > guest-get-fsinfo. On some hosts, such as travis-ci which uses > containers which simfs filesystems, QGA might not reports *any* > filesystems. Our test case assumes there would be at least one, > leading to false error messages in these situations. > > Instead, sanity-check values iff we get at least one filesystem. > > Cc: Marc-André Lureau <marcandre.lureau@redhat.com> > Cc: Peter Maydell <peter.maydell@linaro.org> > Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com> Applied with some spelling fixes: https://github.com/mdroth/qemu/commits/qga > --- > tests/test-qga.c | 12 +++++++----- > 1 file changed, 7 insertions(+), 5 deletions(-) > > diff --git a/tests/test-qga.c b/tests/test-qga.c > index 0531c9f..6473846 100644 > --- a/tests/test-qga.c > +++ b/tests/test-qga.c > @@ -273,13 +273,15 @@ static void test_qga_get_fsinfo(gconstpointer fix) > g_assert_nonnull(ret); > qmp_assert_no_error(ret); > > - /* check there is at least a fs */ > + /* sanity-check the response if there are any filesystems */ > list = qdict_get_qlist(ret, "return"); > entry = qlist_first(list); > - g_assert(qdict_haskey(qobject_to_qdict(entry->value), "name")); > - g_assert(qdict_haskey(qobject_to_qdict(entry->value), "mountpoint")); > - g_assert(qdict_haskey(qobject_to_qdict(entry->value), "type")); > - g_assert(qdict_haskey(qobject_to_qdict(entry->value), "disk")); > + if (entry) { > + g_assert(qdict_haskey(qobject_to_qdict(entry->value), "name")); > + g_assert(qdict_haskey(qobject_to_qdict(entry->value), "mountpoint")); > + g_assert(qdict_haskey(qobject_to_qdict(entry->value), "type")); > + g_assert(qdict_haskey(qobject_to_qdict(entry->value), "disk")); > + } > > QDECREF(ret); > } > -- > 1.9.1 >
diff --git a/tests/test-qga.c b/tests/test-qga.c index 0531c9f..6473846 100644 --- a/tests/test-qga.c +++ b/tests/test-qga.c @@ -273,13 +273,15 @@ static void test_qga_get_fsinfo(gconstpointer fix) g_assert_nonnull(ret); qmp_assert_no_error(ret); - /* check there is at least a fs */ + /* sanity-check the response if there are any filesystems */ list = qdict_get_qlist(ret, "return"); entry = qlist_first(list); - g_assert(qdict_haskey(qobject_to_qdict(entry->value), "name")); - g_assert(qdict_haskey(qobject_to_qdict(entry->value), "mountpoint")); - g_assert(qdict_haskey(qobject_to_qdict(entry->value), "type")); - g_assert(qdict_haskey(qobject_to_qdict(entry->value), "disk")); + if (entry) { + g_assert(qdict_haskey(qobject_to_qdict(entry->value), "name")); + g_assert(qdict_haskey(qobject_to_qdict(entry->value), "mountpoint")); + g_assert(qdict_haskey(qobject_to_qdict(entry->value), "type")); + g_assert(qdict_haskey(qobject_to_qdict(entry->value), "disk")); + } QDECREF(ret); }
QGA skips pseudo-filesystems when querying filesystems via guest-get-fsinfo. On some hosts, such as travis-ci which uses containers which simfs filesystems, QGA might not reports *any* filesystems. Our test case assumes there would be at least one, leading to false error messages in these situations. Instead, sanity-check values iff we get at least one filesystem. Cc: Marc-André Lureau <marcandre.lureau@redhat.com> Cc: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com> --- tests/test-qga.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)