diff mbox

tests: test-qga, loosen assumptions about host filesystems

Message ID 1445359759-7575-1-git-send-email-mdroth@linux.vnet.ibm.com
State New
Headers show

Commit Message

Michael Roth Oct. 20, 2015, 4:49 p.m. UTC
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(-)

Comments

Michael Roth Oct. 21, 2015, 3:19 p.m. UTC | #1
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 mbox

Patch

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);
 }