]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virbitmaptest: Add few more cases for virBitmapToString
authorPeter Krempa <pkrempa@redhat.com>
Thu, 1 Oct 2020 12:14:21 +0000 (14:14 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Mon, 5 Oct 2020 10:57:46 +0000 (12:57 +0200)
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@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
tests/virbitmaptest.c

index 996472ee3e9d231c17545fcb21b3da05e8c8bccc..687b5f87af6a4a724cd699eae623a0b3fa6d7fd2 100644 (file)
@@ -670,7 +670,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++) {
@@ -757,6 +757,35 @@ 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;
+    }
+
+    ignore_value(virBitmapSetBitExpand(map, 2));
+    ignore_value(virBitmapSetBitExpand(map, 11));
+
+    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; \
@@ -824,6 +853,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;
 }