Blob Blame History Raw
From 60c3e3fd52b1d2fe5fbab42d762248a02b5143f6 Mon Sep 17 00:00:00 2001
Message-Id: <60c3e3fd52b1d2fe5fbab42d762248a02b5143f6@dist-git>
From: Peter Krempa <pkrempa@redhat.com>
Date: Tue, 23 Jun 2020 12:23:40 +0200
Subject: [PATCH] qemublocktest: Add 'empty' case for incremental backup test
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Use the new test data when calculating incremental backup operations. As
incremental backup fails with no bitmap the test code is modified to
allow testing this case too.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
(cherry picked from commit 218d00f443a5e211ea3664996c610f62b18425f7)
https://bugzilla.redhat.com/show_bug.cgi?id=1804593
Message-Id: <45ec7a3b4dce5f583d2864991e16cdc090b8dfce.1592906423.git.pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
---
 tests/qemublocktest.c                         | 19 ++++++++++---------
 .../backupmerge/empty-out.json                |  1 +
 2 files changed, 11 insertions(+), 9 deletions(-)
 create mode 100644 tests/qemublocktestdata/backupmerge/empty-out.json

diff --git a/tests/qemublocktest.c b/tests/qemublocktest.c
index 2063ca0be7..3ef6ccec9b 100644
--- a/tests/qemublocktest.c
+++ b/tests/qemublocktest.c
@@ -793,17 +793,16 @@ testQemuBackupIncrementalBitmapCalculate(const void *opaque)
 
     incremental = testQemuBackupGetIncremental(data->incremental);
 
-    if (!(mergebitmaps = qemuBackupDiskPrepareOneBitmapsChain(incremental,
-                                                              data->chain,
-                                                              nodedata,
-                                                              "testdisk"))) {
-        VIR_TEST_VERBOSE("failed to calculate merged bitmaps");
-        return -1;
+    if ((mergebitmaps = qemuBackupDiskPrepareOneBitmapsChain(incremental,
+                                                             data->chain,
+                                                             nodedata,
+                                                             "testdisk"))) {
+        if (!(actual = virJSONValueToString(mergebitmaps, true)))
+            return -1;
+    } else {
+        actual = g_strdup("NULL\n");
     }
 
-    if (!(actual = virJSONValueToString(mergebitmaps, true)))
-        return -1;
-
     return virTestCompareToFile(actual, expectpath);
 }
 
@@ -1311,6 +1310,8 @@ mymain(void)
             ret = -1; \
     } while (0)
 
+    TEST_BACKUP_BITMAP_CALCULATE("empty", bitmapSourceChain, "a", "empty");
+
     TEST_BACKUP_BITMAP_CALCULATE("basic-flat", bitmapSourceChain, "current", "basic");
     TEST_BACKUP_BITMAP_CALCULATE("basic-intermediate", bitmapSourceChain, "d", "basic");
     TEST_BACKUP_BITMAP_CALCULATE("basic-deep", bitmapSourceChain, "a", "basic");
diff --git a/tests/qemublocktestdata/backupmerge/empty-out.json b/tests/qemublocktestdata/backupmerge/empty-out.json
new file mode 100644
index 0000000000..7951defec1
--- /dev/null
+++ b/tests/qemublocktestdata/backupmerge/empty-out.json
@@ -0,0 +1 @@
+NULL
-- 
2.27.0