Add a set of test data to see whether the backing store strings are
formatted reasonably. Note that we don't support direct creation of such
images so those tests are not enabled.

Signed-off-by: Peter Krempa <pkre...@redhat.com>
---
 tests/qemublocktest.c                             |  2 ++
 .../imagecreate/qcow2-backing-qcow2-slice.json    | 15 +++++++++++++++
 .../imagecreate/qcow2-backing-qcow2-slice.xml     |  1 +
 .../imagecreate/qcow2-backing-raw-slice.json      | 15 +++++++++++++++
 .../imagecreate/qcow2-backing-raw-slice.xml       |  1 +
 .../qemublocktestdata/imagecreate/qcow2-slice.xml | 14 ++++++++++++++
 tests/qemublocktestdata/imagecreate/raw-slice.xml | 14 ++++++++++++++
 7 files changed, 62 insertions(+)
 create mode 100644 
tests/qemublocktestdata/imagecreate/qcow2-backing-qcow2-slice.json
 create mode 120000 
tests/qemublocktestdata/imagecreate/qcow2-backing-qcow2-slice.xml
 create mode 100644 
tests/qemublocktestdata/imagecreate/qcow2-backing-raw-slice.json
 create mode 120000 
tests/qemublocktestdata/imagecreate/qcow2-backing-raw-slice.xml
 create mode 100644 tests/qemublocktestdata/imagecreate/qcow2-slice.xml
 create mode 100644 tests/qemublocktestdata/imagecreate/raw-slice.xml

diff --git a/tests/qemublocktest.c b/tests/qemublocktest.c
index ada83a0fde..5a564b71df 100644
--- a/tests/qemublocktest.c
+++ b/tests/qemublocktest.c
@@ -1064,6 +1064,8 @@ mymain(void)
     TEST_IMAGE_CREATE("qcow2-backing-raw-nbd", "raw-nbd");
     TEST_IMAGE_CREATE("qcow2-backing-luks", "luks-noopts");
     TEST_IMAGE_CREATE("qcow2-luks-encopts-backing", "qcow2");
+    TEST_IMAGE_CREATE("qcow2-backing-raw-slice", "raw-slice");
+    TEST_IMAGE_CREATE("qcow2-backing-qcow2-slice", "qcow2-slice");

     TEST_IMAGE_CREATE("network-gluster-qcow2", NULL);
     TEST_IMAGE_CREATE("network-rbd-qcow2", NULL);
diff --git a/tests/qemublocktestdata/imagecreate/qcow2-backing-qcow2-slice.json 
b/tests/qemublocktestdata/imagecreate/qcow2-backing-qcow2-slice.json
new file mode 100644
index 0000000000..2fa27c1933
--- /dev/null
+++ b/tests/qemublocktestdata/imagecreate/qcow2-backing-qcow2-slice.json
@@ -0,0 +1,15 @@
+protocol:
+{
+  "driver": "file",
+  "filename": "/var/lib/libvirt/images/i.qcow2",
+  "size": 4294967296
+}
+
+format:
+{
+  "driver": "qcow2",
+  "file": "0123456789ABCDEF0123456789ABCDE",
+  "size": 8589934590,
+  "backing-file": 
"json:{\"driver\":\"raw\",\"offset\":1234,\"size\":5768,\"file\":{\"driver\":\"file\",\"filename\":\"/var/lib/libvirt/images/i.qcow2\"}}",
+  "backing-fmt": "qcow2"
+}
diff --git a/tests/qemublocktestdata/imagecreate/qcow2-backing-qcow2-slice.xml 
b/tests/qemublocktestdata/imagecreate/qcow2-backing-qcow2-slice.xml
new file mode 120000
index 0000000000..5769c2c866
--- /dev/null
+++ b/tests/qemublocktestdata/imagecreate/qcow2-backing-qcow2-slice.xml
@@ -0,0 +1 @@
+qcow2.xml
\ No newline at end of file
diff --git a/tests/qemublocktestdata/imagecreate/qcow2-backing-raw-slice.json 
b/tests/qemublocktestdata/imagecreate/qcow2-backing-raw-slice.json
new file mode 100644
index 0000000000..761002afd9
--- /dev/null
+++ b/tests/qemublocktestdata/imagecreate/qcow2-backing-raw-slice.json
@@ -0,0 +1,15 @@
+protocol:
+{
+  "driver": "file",
+  "filename": "/var/lib/libvirt/images/i.qcow2",
+  "size": 4294967296
+}
+
+format:
+{
+  "driver": "qcow2",
+  "file": "0123456789ABCDEF0123456789ABCDE",
+  "size": 8589934590,
+  "backing-file": 
"json:{\"driver\":\"raw\",\"offset\":9876,\"size\":54321,\"file\":{\"driver\":\"file\",\"filename\":\"/var/lib/libvirt/images/i.img\"}}",
+  "backing-fmt": "raw"
+}
diff --git a/tests/qemublocktestdata/imagecreate/qcow2-backing-raw-slice.xml 
b/tests/qemublocktestdata/imagecreate/qcow2-backing-raw-slice.xml
new file mode 120000
index 0000000000..5769c2c866
--- /dev/null
+++ b/tests/qemublocktestdata/imagecreate/qcow2-backing-raw-slice.xml
@@ -0,0 +1 @@
+qcow2.xml
\ No newline at end of file
diff --git a/tests/qemublocktestdata/imagecreate/qcow2-slice.xml 
b/tests/qemublocktestdata/imagecreate/qcow2-slice.xml
new file mode 100644
index 0000000000..6c5ae3107b
--- /dev/null
+++ b/tests/qemublocktestdata/imagecreate/qcow2-slice.xml
@@ -0,0 +1,14 @@
+<disk device='disk' name='vda'>
+  <driver type='qcow2'/>
+  <source file='/var/lib/libvirt/images/i.qcow2'>
+    <slices>
+      <slice type='storage' offset='1234' size='5768'/>
+    </slices>
+    <privateData>
+      <nodenames>
+        <nodename type='storage' name='0123456789ABCDEF0123456789ABCDE'/>
+        <nodename type='format' name='0123456789ABCDEF0123456789ABCDE'/>
+      </nodenames>
+    </privateData>
+  </source>
+</disk>
diff --git a/tests/qemublocktestdata/imagecreate/raw-slice.xml 
b/tests/qemublocktestdata/imagecreate/raw-slice.xml
new file mode 100644
index 0000000000..adc7a175ce
--- /dev/null
+++ b/tests/qemublocktestdata/imagecreate/raw-slice.xml
@@ -0,0 +1,14 @@
+<disk device='disk' name='vda'>
+  <driver type='raw'/>
+  <source file='/var/lib/libvirt/images/i.img'>
+    <slices>
+      <slice type='storage' offset='9876' size='54321'/>
+    </slices>
+    <privateData>
+      <nodenames>
+        <nodename type='storage' name='0123456789ABCDEF0123456789ABCDE'/>
+        <nodename type='format' name='0123456789ABCDEF0123456789ABCDE'/>
+      </nodenames>
+    </privateData>
+  </source>
+</disk>
-- 
2.24.1

Reply via email to