[PATCH 09/15] virbitmaptest: Add few more cases for virBitmapToString

Peter Krempa pkrempa at redhat.com
Fri Oct 2 07:43:03 UTC 2020


Test an empty bitmap including it's extension via the self-expanding
APIs and and a "0" and "" strings when converting the string back and
forth.

Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
 tests/virbitmaptest.c | 35 ++++++++++++++++++++++++++++++++++-
 1 file changed, 34 insertions(+), 1 deletion(-)

diff --git a/tests/virbitmaptest.c b/tests/virbitmaptest.c
index 56110971c9..c14a6c7e26 100644
--- a/tests/virbitmaptest.c
+++ b/tests/virbitmaptest.c
@@ -605,7 +605,7 @@ test12(const void *opaque G_GNUC_UNUSED)
 static int
 test13(const void *opaque G_GNUC_UNUSED)
 {
-    const char *strings[] = { "1234feebee", "000c0fefe" };
+    const char *strings[] = { "1234feebee", "000c0fefe", "0", "" };
     size_t i = 0;

     for (i = 0; i < G_N_ELEMENTS(strings); i++) {
@@ -684,6 +684,36 @@ test15(const void *opaque)
 }


+/* virBitmapNewEmpty + virBitmapToString */
+static int
+test16(const void *opaque G_GNUC_UNUSED)
+{
+    g_autoptr(virBitmap) map = virBitmapNewEmpty();
+    g_autofree char *res_empty = NULL;
+    g_autofree char *res_set = NULL;
+
+    if (!(res_empty = virBitmapToString(map)) ||
+        STRNEQ_NULLABLE(res_empty, "")) {
+        fprintf(stderr, "\n expected bitmap string '%s' actual string '%s'\n",
+                "", NULLSTR(res_empty));
+        return -1;
+    }
+
+    if (virBitmapSetBitExpand(map, 2) < 0 ||
+        virBitmapSetBitExpand(map, 11) < 0)
+        abort();
+
+    if (!(res_set = virBitmapToString(map)) ||
+        STRNEQ_NULLABLE(res_set, "804")) {
+        fprintf(stderr, "\n expected bitmap string '%s' actual string '%s'\n",
+                "804", NULLSTR(res_set));
+        return -1;
+    }
+
+    return 0;
+}
+
+
 #define TESTBINARYOP(A, B, RES, FUNC) \
     testBinaryOpData.a = A; \
     testBinaryOpData.b = B; \
@@ -751,6 +781,9 @@ mymain(void)
     TESTBINARYOP("12345", "0,^0", "12345", test15);
     TESTBINARYOP("0,^0", "0,^0", "0,^0", test15);

+    if (virTestRun("test16", test16, NULL) < 0)
+        ret = -1;
+
     return ret;
 }

-- 
2.26.2




More information about the libvir-list mailing list