]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: fix nbdkit command test for backing chains
authorJonathon Jongsma <jjongsma@redhat.com>
Fri, 26 Jan 2024 16:41:58 +0000 (10:41 -0600)
committerJonathon Jongsma <jjongsma@redhat.com>
Fri, 9 Feb 2024 20:45:20 +0000 (14:45 -0600)
Previously this test only tested the generated nbdkit command for the
top level disk source. Update it to test the generated commmands for all
sources in the chain.

Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
57 files changed:
tests/qemunbdkitdata/disk-cdrom-network.args.disk0 [deleted file]
tests/qemunbdkitdata/disk-cdrom-network.args.disk0-src0 [new file with mode: 0644]
tests/qemunbdkitdata/disk-cdrom-network.args.disk1 [deleted file]
tests/qemunbdkitdata/disk-cdrom-network.args.disk1-src0 [new file with mode: 0644]
tests/qemunbdkitdata/disk-cdrom-network.args.disk1-src0.pipe.778 [new file with mode: 0644]
tests/qemunbdkitdata/disk-cdrom-network.args.disk1.pipe.778 [deleted file]
tests/qemunbdkitdata/disk-cdrom-network.args.disk2 [deleted file]
tests/qemunbdkitdata/disk-cdrom-network.args.disk2-src0 [new file with mode: 0644]
tests/qemunbdkitdata/disk-cdrom-network.args.disk2-src0.pipe.780 [new file with mode: 0644]
tests/qemunbdkitdata/disk-cdrom-network.args.disk2.pipe.780 [deleted file]
tests/qemunbdkitdata/disk-network-http.args.disk0 [deleted file]
tests/qemunbdkitdata/disk-network-http.args.disk0-src0 [new file with mode: 0644]
tests/qemunbdkitdata/disk-network-http.args.disk1 [deleted file]
tests/qemunbdkitdata/disk-network-http.args.disk1-src0 [new file with mode: 0644]
tests/qemunbdkitdata/disk-network-http.args.disk2 [deleted file]
tests/qemunbdkitdata/disk-network-http.args.disk2-src0 [new file with mode: 0644]
tests/qemunbdkitdata/disk-network-http.args.disk2-src0.pipe.778 [new file with mode: 0644]
tests/qemunbdkitdata/disk-network-http.args.disk2.pipe.778 [deleted file]
tests/qemunbdkitdata/disk-network-http.args.disk3 [deleted file]
tests/qemunbdkitdata/disk-network-http.args.disk3-src0 [new file with mode: 0644]
tests/qemunbdkitdata/disk-network-http.args.disk3-src0.pipe.780 [new file with mode: 0644]
tests/qemunbdkitdata/disk-network-http.args.disk3.pipe.780 [deleted file]
tests/qemunbdkitdata/disk-network-source-curl-nbdkit-backing.args.disk0 [deleted file]
tests/qemunbdkitdata/disk-network-source-curl-nbdkit-backing.args.disk0-src0 [new file with mode: 0644]
tests/qemunbdkitdata/disk-network-source-curl-nbdkit-backing.args.disk0-src0.pipe.778 [new file with mode: 0644]
tests/qemunbdkitdata/disk-network-source-curl-nbdkit-backing.args.disk0-src1 [new file with mode: 0644]
tests/qemunbdkitdata/disk-network-source-curl-nbdkit-backing.args.disk0-src1.pipe.780 [new file with mode: 0644]
tests/qemunbdkitdata/disk-network-source-curl-nbdkit-backing.args.disk0.pipe.778 [deleted file]
tests/qemunbdkitdata/disk-network-source-curl.args.disk0 [deleted file]
tests/qemunbdkitdata/disk-network-source-curl.args.disk0-src0 [new file with mode: 0644]
tests/qemunbdkitdata/disk-network-source-curl.args.disk0-src0.pipe.778 [new file with mode: 0644]
tests/qemunbdkitdata/disk-network-source-curl.args.disk0.pipe.778 [deleted file]
tests/qemunbdkitdata/disk-network-source-curl.args.disk1 [deleted file]
tests/qemunbdkitdata/disk-network-source-curl.args.disk1-src0 [new file with mode: 0644]
tests/qemunbdkitdata/disk-network-source-curl.args.disk1-src0.pipe.780 [new file with mode: 0644]
tests/qemunbdkitdata/disk-network-source-curl.args.disk1-src0.pipe.782 [new file with mode: 0644]
tests/qemunbdkitdata/disk-network-source-curl.args.disk1.pipe.780 [deleted file]
tests/qemunbdkitdata/disk-network-source-curl.args.disk1.pipe.782 [deleted file]
tests/qemunbdkitdata/disk-network-source-curl.args.disk2 [deleted file]
tests/qemunbdkitdata/disk-network-source-curl.args.disk2-src0 [new file with mode: 0644]
tests/qemunbdkitdata/disk-network-source-curl.args.disk2-src0.pipe.784 [new file with mode: 0644]
tests/qemunbdkitdata/disk-network-source-curl.args.disk2.pipe.784 [deleted file]
tests/qemunbdkitdata/disk-network-source-curl.args.disk3 [deleted file]
tests/qemunbdkitdata/disk-network-source-curl.args.disk3-src0 [new file with mode: 0644]
tests/qemunbdkitdata/disk-network-source-curl.args.disk4 [deleted file]
tests/qemunbdkitdata/disk-network-source-curl.args.disk4-src0 [new file with mode: 0644]
tests/qemunbdkitdata/disk-network-ssh-key.args.disk0 [deleted file]
tests/qemunbdkitdata/disk-network-ssh-key.args.disk0-src0 [new file with mode: 0644]
tests/qemunbdkitdata/disk-network-ssh-key.args.disk1 [deleted file]
tests/qemunbdkitdata/disk-network-ssh-key.args.disk1-src0 [new file with mode: 0644]
tests/qemunbdkitdata/disk-network-ssh-password.args.disk0 [deleted file]
tests/qemunbdkitdata/disk-network-ssh-password.args.disk0-src0 [new file with mode: 0644]
tests/qemunbdkitdata/disk-network-ssh-password.args.disk0-src0.pipe.778 [new file with mode: 0644]
tests/qemunbdkitdata/disk-network-ssh-password.args.disk0.pipe.778 [deleted file]
tests/qemunbdkitdata/disk-network-ssh.args.disk0 [deleted file]
tests/qemunbdkitdata/disk-network-ssh.args.disk0-src0 [new file with mode: 0644]
tests/qemunbdkittest.c

diff --git a/tests/qemunbdkitdata/disk-cdrom-network.args.disk0 b/tests/qemunbdkitdata/disk-cdrom-network.args.disk0
deleted file mode 100644 (file)
index b2f3be4..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-nbdkit \
---unix /tmp/statedir-0/nbdkit-test-disk-0.socket \
---foreground \
---readonly curl \
-protocols=ftp \
-url=ftp://host.name:21/url/path/file.iso
diff --git a/tests/qemunbdkitdata/disk-cdrom-network.args.disk0-src0 b/tests/qemunbdkitdata/disk-cdrom-network.args.disk0-src0
new file mode 100644 (file)
index 0000000..cec0c75
--- /dev/null
@@ -0,0 +1,6 @@
+nbdkit \
+--unix /tmp/domain-QEMUGuest1/nbdkit-disk0-src0.socket \
+--foreground \
+--readonly curl \
+protocols=ftp \
+url=ftp://host.name:21/url/path/file.iso
diff --git a/tests/qemunbdkitdata/disk-cdrom-network.args.disk1 b/tests/qemunbdkitdata/disk-cdrom-network.args.disk1
deleted file mode 100644 (file)
index a23f657..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-nbdkit \
---unix /tmp/statedir-1/nbdkit-test-disk-1.socket \
---foreground \
---readonly curl \
-protocols=ftps \
-url=ftps://host.name:990/url/path/file.iso \
-user=testuser \
-password=-777
diff --git a/tests/qemunbdkitdata/disk-cdrom-network.args.disk1-src0 b/tests/qemunbdkitdata/disk-cdrom-network.args.disk1-src0
new file mode 100644 (file)
index 0000000..62368ac
--- /dev/null
@@ -0,0 +1,8 @@
+nbdkit \
+--unix /tmp/domain-QEMUGuest1/nbdkit-disk1-src0.socket \
+--foreground \
+--readonly curl \
+protocols=ftps \
+url=ftps://host.name:990/url/path/file.iso \
+user=testuser \
+password=-777
diff --git a/tests/qemunbdkitdata/disk-cdrom-network.args.disk1-src0.pipe.778 b/tests/qemunbdkitdata/disk-cdrom-network.args.disk1-src0.pipe.778
new file mode 100644 (file)
index 0000000..dd67dde
--- /dev/null
@@ -0,0 +1 @@
+iscsi-mycluster_myname-secret
diff --git a/tests/qemunbdkitdata/disk-cdrom-network.args.disk1.pipe.778 b/tests/qemunbdkitdata/disk-cdrom-network.args.disk1.pipe.778
deleted file mode 100644 (file)
index dd67dde..0000000
+++ /dev/null
@@ -1 +0,0 @@
-iscsi-mycluster_myname-secret
diff --git a/tests/qemunbdkitdata/disk-cdrom-network.args.disk2 b/tests/qemunbdkitdata/disk-cdrom-network.args.disk2
deleted file mode 100644 (file)
index 04e9186..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-nbdkit \
---unix /tmp/statedir-2/nbdkit-test-disk-2.socket \
---foreground \
---readonly curl \
-protocols=https \
-'url=https://host.name:443/url/path/file.iso?test=val' \
-user=testuser \
-password=-779
diff --git a/tests/qemunbdkitdata/disk-cdrom-network.args.disk2-src0 b/tests/qemunbdkitdata/disk-cdrom-network.args.disk2-src0
new file mode 100644 (file)
index 0000000..70bfa39
--- /dev/null
@@ -0,0 +1,8 @@
+nbdkit \
+--unix /tmp/domain-QEMUGuest1/nbdkit-disk2-src0.socket \
+--foreground \
+--readonly curl \
+protocols=https \
+'url=https://host.name:443/url/path/file.iso?test=val' \
+user=testuser \
+password=-779
diff --git a/tests/qemunbdkitdata/disk-cdrom-network.args.disk2-src0.pipe.780 b/tests/qemunbdkitdata/disk-cdrom-network.args.disk2-src0.pipe.780
new file mode 100644 (file)
index 0000000..dd67dde
--- /dev/null
@@ -0,0 +1 @@
+iscsi-mycluster_myname-secret
diff --git a/tests/qemunbdkitdata/disk-cdrom-network.args.disk2.pipe.780 b/tests/qemunbdkitdata/disk-cdrom-network.args.disk2.pipe.780
deleted file mode 100644 (file)
index dd67dde..0000000
+++ /dev/null
@@ -1 +0,0 @@
-iscsi-mycluster_myname-secret
diff --git a/tests/qemunbdkitdata/disk-network-http.args.disk0 b/tests/qemunbdkitdata/disk-network-http.args.disk0
deleted file mode 100644 (file)
index 8316f35..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-nbdkit \
---unix /tmp/statedir-0/nbdkit-test-disk-0.socket \
---foreground curl \
-protocols=http,https \
-url=http://example.org:80/test.img \
-timeout=1234
diff --git a/tests/qemunbdkitdata/disk-network-http.args.disk0-src0 b/tests/qemunbdkitdata/disk-network-http.args.disk0-src0
new file mode 100644 (file)
index 0000000..a850610
--- /dev/null
@@ -0,0 +1,6 @@
+nbdkit \
+--unix /tmp/domain-QEMUGuest1/nbdkit-disk0-src0.socket \
+--foreground curl \
+protocols=http,https \
+url=http://example.org:80/test.img \
+timeout=1234
diff --git a/tests/qemunbdkitdata/disk-network-http.args.disk1 b/tests/qemunbdkitdata/disk-network-http.args.disk1
deleted file mode 100644 (file)
index a546a68..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-nbdkit \
---unix /tmp/statedir-1/nbdkit-test-disk-1.socket \
---foreground curl \
-protocols=https \
-url=https://example.org:443/test2.img
diff --git a/tests/qemunbdkitdata/disk-network-http.args.disk1-src0 b/tests/qemunbdkitdata/disk-network-http.args.disk1-src0
new file mode 100644 (file)
index 0000000..0864840
--- /dev/null
@@ -0,0 +1,5 @@
+nbdkit \
+--unix /tmp/domain-QEMUGuest1/nbdkit-disk1-src0.socket \
+--foreground curl \
+protocols=https \
+url=https://example.org:443/test2.img
diff --git a/tests/qemunbdkitdata/disk-network-http.args.disk2 b/tests/qemunbdkitdata/disk-network-http.args.disk2
deleted file mode 100644 (file)
index 1004547..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-nbdkit \
---unix /tmp/statedir-2/nbdkit-test-disk-2.socket \
---foreground curl \
-protocols=http,https \
-url=http://example.org:1234/test3.img \
-cookie=-777
diff --git a/tests/qemunbdkitdata/disk-network-http.args.disk2-src0 b/tests/qemunbdkitdata/disk-network-http.args.disk2-src0
new file mode 100644 (file)
index 0000000..359767f
--- /dev/null
@@ -0,0 +1,6 @@
+nbdkit \
+--unix /tmp/domain-QEMUGuest1/nbdkit-disk2-src0.socket \
+--foreground curl \
+protocols=http,https \
+url=http://example.org:1234/test3.img \
+cookie=-777
diff --git a/tests/qemunbdkitdata/disk-network-http.args.disk2-src0.pipe.778 b/tests/qemunbdkitdata/disk-network-http.args.disk2-src0.pipe.778
new file mode 100644 (file)
index 0000000..3751afd
--- /dev/null
@@ -0,0 +1 @@
+test=testcookievalue; test2="blurb"
diff --git a/tests/qemunbdkitdata/disk-network-http.args.disk2.pipe.778 b/tests/qemunbdkitdata/disk-network-http.args.disk2.pipe.778
deleted file mode 100644 (file)
index 3751afd..0000000
+++ /dev/null
@@ -1 +0,0 @@
-test=testcookievalue; test2="blurb"
diff --git a/tests/qemunbdkitdata/disk-network-http.args.disk3 b/tests/qemunbdkitdata/disk-network-http.args.disk3
deleted file mode 100644 (file)
index e3c357b..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-nbdkit \
---unix /tmp/statedir-3/nbdkit-test-disk-3.socket \
---foreground curl \
-protocols=https \
-'url=https://example.org:1234/test4.img?par=val&other=ble' \
-cookie=-779 \
-sslverify=false
diff --git a/tests/qemunbdkitdata/disk-network-http.args.disk3-src0 b/tests/qemunbdkitdata/disk-network-http.args.disk3-src0
new file mode 100644 (file)
index 0000000..6f2fa96
--- /dev/null
@@ -0,0 +1,7 @@
+nbdkit \
+--unix /tmp/domain-QEMUGuest1/nbdkit-disk3-src0.socket \
+--foreground curl \
+protocols=https \
+'url=https://example.org:1234/test4.img?par=val&other=ble' \
+cookie=-779 \
+sslverify=false
diff --git a/tests/qemunbdkitdata/disk-network-http.args.disk3-src0.pipe.780 b/tests/qemunbdkitdata/disk-network-http.args.disk3-src0.pipe.780
new file mode 100644 (file)
index 0000000..3751afd
--- /dev/null
@@ -0,0 +1 @@
+test=testcookievalue; test2="blurb"
diff --git a/tests/qemunbdkitdata/disk-network-http.args.disk3.pipe.780 b/tests/qemunbdkitdata/disk-network-http.args.disk3.pipe.780
deleted file mode 100644 (file)
index 3751afd..0000000
+++ /dev/null
@@ -1 +0,0 @@
-test=testcookievalue; test2="blurb"
diff --git a/tests/qemunbdkitdata/disk-network-source-curl-nbdkit-backing.args.disk0 b/tests/qemunbdkitdata/disk-network-source-curl-nbdkit-backing.args.disk0
deleted file mode 100644 (file)
index 6053544..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-nbdkit \
---unix /tmp/statedir-0/nbdkit-test-disk-0.socket \
---foreground \
---readonly curl \
-protocols=https \
-url=https://https.example.org:8443/path/to/disk1.qcow2 \
-cookie=-777
diff --git a/tests/qemunbdkitdata/disk-network-source-curl-nbdkit-backing.args.disk0-src0 b/tests/qemunbdkitdata/disk-network-source-curl-nbdkit-backing.args.disk0-src0
new file mode 100644 (file)
index 0000000..ea54fb5
--- /dev/null
@@ -0,0 +1,7 @@
+nbdkit \
+--unix /tmp/domain-QEMUGuest1/nbdkit-disk0-src0.socket \
+--foreground \
+--readonly curl \
+protocols=https \
+url=https://https.example.org:8443/path/to/disk1.qcow2 \
+cookie=-777
diff --git a/tests/qemunbdkitdata/disk-network-source-curl-nbdkit-backing.args.disk0-src0.pipe.778 b/tests/qemunbdkitdata/disk-network-source-curl-nbdkit-backing.args.disk0-src0.pipe.778
new file mode 100644 (file)
index 0000000..e72f706
--- /dev/null
@@ -0,0 +1 @@
+cookie1=cookievalue1; cookie2=cookievalue2
diff --git a/tests/qemunbdkitdata/disk-network-source-curl-nbdkit-backing.args.disk0-src1 b/tests/qemunbdkitdata/disk-network-source-curl-nbdkit-backing.args.disk0-src1
new file mode 100644 (file)
index 0000000..f9e2d8b
--- /dev/null
@@ -0,0 +1,7 @@
+nbdkit \
+--unix /tmp/domain-QEMUGuest1/nbdkit-disk0-src1.socket \
+--foreground \
+--readonly curl \
+protocols=https \
+url=https://https.example2.org:8444/path/to/backing.qcow2 \
+cookie=-779
diff --git a/tests/qemunbdkitdata/disk-network-source-curl-nbdkit-backing.args.disk0-src1.pipe.780 b/tests/qemunbdkitdata/disk-network-source-curl-nbdkit-backing.args.disk0-src1.pipe.780
new file mode 100644 (file)
index 0000000..0aafdfb
--- /dev/null
@@ -0,0 +1 @@
+cookie3=cookievalue3; cookie4=cookievalue4
diff --git a/tests/qemunbdkitdata/disk-network-source-curl-nbdkit-backing.args.disk0.pipe.778 b/tests/qemunbdkitdata/disk-network-source-curl-nbdkit-backing.args.disk0.pipe.778
deleted file mode 100644 (file)
index e72f706..0000000
+++ /dev/null
@@ -1 +0,0 @@
-cookie1=cookievalue1; cookie2=cookievalue2
diff --git a/tests/qemunbdkitdata/disk-network-source-curl.args.disk0 b/tests/qemunbdkitdata/disk-network-source-curl.args.disk0
deleted file mode 100644 (file)
index 948dbfb..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-nbdkit \
---unix /tmp/statedir-0/nbdkit-test-disk-0.socket \
---foreground \
---readonly curl \
-protocols=https \
-url=https://https.example.org:8443/path/to/disk1.iso \
-cookie=-777
diff --git a/tests/qemunbdkitdata/disk-network-source-curl.args.disk0-src0 b/tests/qemunbdkitdata/disk-network-source-curl.args.disk0-src0
new file mode 100644 (file)
index 0000000..ff3b067
--- /dev/null
@@ -0,0 +1,7 @@
+nbdkit \
+--unix /tmp/domain-QEMUGuest1/nbdkit-disk0-src0.socket \
+--foreground \
+--readonly curl \
+protocols=https \
+url=https://https.example.org:8443/path/to/disk1.iso \
+cookie=-777
diff --git a/tests/qemunbdkitdata/disk-network-source-curl.args.disk0-src0.pipe.778 b/tests/qemunbdkitdata/disk-network-source-curl.args.disk0-src0.pipe.778
new file mode 100644 (file)
index 0000000..e72f706
--- /dev/null
@@ -0,0 +1 @@
+cookie1=cookievalue1; cookie2=cookievalue2
diff --git a/tests/qemunbdkitdata/disk-network-source-curl.args.disk0.pipe.778 b/tests/qemunbdkitdata/disk-network-source-curl.args.disk0.pipe.778
deleted file mode 100644 (file)
index e72f706..0000000
+++ /dev/null
@@ -1 +0,0 @@
-cookie1=cookievalue1; cookie2=cookievalue2
diff --git a/tests/qemunbdkitdata/disk-network-source-curl.args.disk1 b/tests/qemunbdkitdata/disk-network-source-curl.args.disk1
deleted file mode 100644 (file)
index d1288dd..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-nbdkit \
---unix /tmp/statedir-1/nbdkit-test-disk-1.socket \
---foreground curl \
-protocols=https \
-'url=https://https.example.org:8443/path/to/disk5.iso?foo=bar' \
-user=myname \
-password=-779 \
-cookie=-781 \
-sslverify=false
diff --git a/tests/qemunbdkitdata/disk-network-source-curl.args.disk1-src0 b/tests/qemunbdkitdata/disk-network-source-curl.args.disk1-src0
new file mode 100644 (file)
index 0000000..972b07b
--- /dev/null
@@ -0,0 +1,9 @@
+nbdkit \
+--unix /tmp/domain-QEMUGuest1/nbdkit-disk1-src0.socket \
+--foreground curl \
+protocols=https \
+'url=https://https.example.org:8443/path/to/disk5.iso?foo=bar' \
+user=myname \
+password=-779 \
+cookie=-781 \
+sslverify=false
diff --git a/tests/qemunbdkitdata/disk-network-source-curl.args.disk1-src0.pipe.780 b/tests/qemunbdkitdata/disk-network-source-curl.args.disk1-src0.pipe.780
new file mode 100644 (file)
index 0000000..dd67dde
--- /dev/null
@@ -0,0 +1 @@
+iscsi-mycluster_myname-secret
diff --git a/tests/qemunbdkitdata/disk-network-source-curl.args.disk1-src0.pipe.782 b/tests/qemunbdkitdata/disk-network-source-curl.args.disk1-src0.pipe.782
new file mode 100644 (file)
index 0000000..e72f706
--- /dev/null
@@ -0,0 +1 @@
+cookie1=cookievalue1; cookie2=cookievalue2
diff --git a/tests/qemunbdkitdata/disk-network-source-curl.args.disk1.pipe.780 b/tests/qemunbdkitdata/disk-network-source-curl.args.disk1.pipe.780
deleted file mode 100644 (file)
index dd67dde..0000000
+++ /dev/null
@@ -1 +0,0 @@
-iscsi-mycluster_myname-secret
diff --git a/tests/qemunbdkitdata/disk-network-source-curl.args.disk1.pipe.782 b/tests/qemunbdkitdata/disk-network-source-curl.args.disk1.pipe.782
deleted file mode 100644 (file)
index e72f706..0000000
+++ /dev/null
@@ -1 +0,0 @@
-cookie1=cookievalue1; cookie2=cookievalue2
diff --git a/tests/qemunbdkitdata/disk-network-source-curl.args.disk2 b/tests/qemunbdkitdata/disk-network-source-curl.args.disk2
deleted file mode 100644 (file)
index f1d0e19..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-nbdkit \
---unix /tmp/statedir-2/nbdkit-test-disk-2.socket \
---foreground \
---readonly curl \
-protocols=http,https \
-url=http://http.example.org:8080/path/to/disk2.iso \
-cookie=-783
diff --git a/tests/qemunbdkitdata/disk-network-source-curl.args.disk2-src0 b/tests/qemunbdkitdata/disk-network-source-curl.args.disk2-src0
new file mode 100644 (file)
index 0000000..6cfa70a
--- /dev/null
@@ -0,0 +1,7 @@
+nbdkit \
+--unix /tmp/domain-QEMUGuest1/nbdkit-disk2-src0.socket \
+--foreground \
+--readonly curl \
+protocols=http,https \
+url=http://http.example.org:8080/path/to/disk2.iso \
+cookie=-783
diff --git a/tests/qemunbdkitdata/disk-network-source-curl.args.disk2-src0.pipe.784 b/tests/qemunbdkitdata/disk-network-source-curl.args.disk2-src0.pipe.784
new file mode 100644 (file)
index 0000000..af98693
--- /dev/null
@@ -0,0 +1 @@
+cookie1=cookievalue1; cookie2=cookievalue2; cookie3=cookievalue3
diff --git a/tests/qemunbdkitdata/disk-network-source-curl.args.disk2.pipe.784 b/tests/qemunbdkitdata/disk-network-source-curl.args.disk2.pipe.784
deleted file mode 100644 (file)
index af98693..0000000
+++ /dev/null
@@ -1 +0,0 @@
-cookie1=cookievalue1; cookie2=cookievalue2; cookie3=cookievalue3
diff --git a/tests/qemunbdkitdata/disk-network-source-curl.args.disk3 b/tests/qemunbdkitdata/disk-network-source-curl.args.disk3
deleted file mode 100644 (file)
index f517baa..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-nbdkit \
---unix /tmp/statedir-3/nbdkit-test-disk-3.socket \
---foreground \
---readonly curl \
-protocols=ftp \
-url=ftp://ftp.example.org:20/path/to/disk3.iso
diff --git a/tests/qemunbdkitdata/disk-network-source-curl.args.disk3-src0 b/tests/qemunbdkitdata/disk-network-source-curl.args.disk3-src0
new file mode 100644 (file)
index 0000000..2377d2e
--- /dev/null
@@ -0,0 +1,6 @@
+nbdkit \
+--unix /tmp/domain-QEMUGuest1/nbdkit-disk3-src0.socket \
+--foreground \
+--readonly curl \
+protocols=ftp \
+url=ftp://ftp.example.org:20/path/to/disk3.iso
diff --git a/tests/qemunbdkitdata/disk-network-source-curl.args.disk4 b/tests/qemunbdkitdata/disk-network-source-curl.args.disk4
deleted file mode 100644 (file)
index 1df47a9..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-nbdkit \
---unix /tmp/statedir-4/nbdkit-test-disk-4.socket \
---foreground \
---readonly curl \
-protocols=ftps \
-url=ftps://ftps.example.org:22/path/to/disk4.iso
diff --git a/tests/qemunbdkitdata/disk-network-source-curl.args.disk4-src0 b/tests/qemunbdkitdata/disk-network-source-curl.args.disk4-src0
new file mode 100644 (file)
index 0000000..584c30b
--- /dev/null
@@ -0,0 +1,6 @@
+nbdkit \
+--unix /tmp/domain-QEMUGuest1/nbdkit-disk4-src0.socket \
+--foreground \
+--readonly curl \
+protocols=ftps \
+url=ftps://ftps.example.org:22/path/to/disk4.iso
diff --git a/tests/qemunbdkitdata/disk-network-ssh-key.args.disk0 b/tests/qemunbdkitdata/disk-network-ssh-key.args.disk0
deleted file mode 100644 (file)
index f627700..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-SSH_AUTH_SOCK=/path/to/agent/socket \
-nbdkit \
---unix /tmp/statedir-0/nbdkit-test-disk-0.socket \
---foreground ssh \
-host=example.org \
-port=2222 \
-path=test1.img \
-user=myuser \
-known-hosts=/path/to/ssh_known_hosts1
diff --git a/tests/qemunbdkitdata/disk-network-ssh-key.args.disk0-src0 b/tests/qemunbdkitdata/disk-network-ssh-key.args.disk0-src0
new file mode 100644 (file)
index 0000000..e16f2ca
--- /dev/null
@@ -0,0 +1,9 @@
+SSH_AUTH_SOCK=/path/to/agent/socket \
+nbdkit \
+--unix /tmp/domain-QEMUGuest1/nbdkit-disk0-src0.socket \
+--foreground ssh \
+host=example.org \
+port=2222 \
+path=test1.img \
+user=myuser \
+known-hosts=/path/to/ssh_known_hosts1
diff --git a/tests/qemunbdkitdata/disk-network-ssh-key.args.disk1 b/tests/qemunbdkitdata/disk-network-ssh-key.args.disk1
deleted file mode 100644 (file)
index 80df9c3..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-nbdkit \
---unix /tmp/statedir-1/nbdkit-test-disk-1.socket \
---foreground ssh \
-host=example.org \
-port=2222 \
-path=test2.img \
-identity=/path/to/id_rsa \
-user=myuser2 \
-known-hosts=/path/to/ssh_known_hosts2
diff --git a/tests/qemunbdkitdata/disk-network-ssh-key.args.disk1-src0 b/tests/qemunbdkitdata/disk-network-ssh-key.args.disk1-src0
new file mode 100644 (file)
index 0000000..fbac831
--- /dev/null
@@ -0,0 +1,9 @@
+nbdkit \
+--unix /tmp/domain-QEMUGuest1/nbdkit-disk1-src0.socket \
+--foreground ssh \
+host=example.org \
+port=2222 \
+path=test2.img \
+identity=/path/to/id_rsa \
+user=myuser2 \
+known-hosts=/path/to/ssh_known_hosts2
diff --git a/tests/qemunbdkitdata/disk-network-ssh-password.args.disk0 b/tests/qemunbdkitdata/disk-network-ssh-password.args.disk0
deleted file mode 100644 (file)
index ee2d7c3..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-nbdkit \
---unix /tmp/statedir-0/nbdkit-test-disk-0.socket \
---foreground ssh \
-host=example.org \
-port=2222 \
-path=test2.img \
-user=testuser \
-password=-777 \
-known-hosts=/path/to/knownhosts
diff --git a/tests/qemunbdkitdata/disk-network-ssh-password.args.disk0-src0 b/tests/qemunbdkitdata/disk-network-ssh-password.args.disk0-src0
new file mode 100644 (file)
index 0000000..0da07e1
--- /dev/null
@@ -0,0 +1,9 @@
+nbdkit \
+--unix /tmp/domain-QEMUGuest1/nbdkit-disk0-src0.socket \
+--foreground ssh \
+host=example.org \
+port=2222 \
+path=test2.img \
+user=testuser \
+password=-777 \
+known-hosts=/path/to/knownhosts
diff --git a/tests/qemunbdkitdata/disk-network-ssh-password.args.disk0-src0.pipe.778 b/tests/qemunbdkitdata/disk-network-ssh-password.args.disk0-src0.pipe.778
new file mode 100644 (file)
index 0000000..dd67dde
--- /dev/null
@@ -0,0 +1 @@
+iscsi-mycluster_myname-secret
diff --git a/tests/qemunbdkitdata/disk-network-ssh-password.args.disk0.pipe.778 b/tests/qemunbdkitdata/disk-network-ssh-password.args.disk0.pipe.778
deleted file mode 100644 (file)
index dd67dde..0000000
+++ /dev/null
@@ -1 +0,0 @@
-iscsi-mycluster_myname-secret
diff --git a/tests/qemunbdkitdata/disk-network-ssh.args.disk0 b/tests/qemunbdkitdata/disk-network-ssh.args.disk0
deleted file mode 100644 (file)
index 481b218..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-nbdkit \
---unix /tmp/statedir-0/nbdkit-test-disk-0.socket \
---foreground ssh \
-host=example.org \
-port=2222 \
-path=test.img \
-known-hosts=/path/to/ssh_known_hosts
diff --git a/tests/qemunbdkitdata/disk-network-ssh.args.disk0-src0 b/tests/qemunbdkitdata/disk-network-ssh.args.disk0-src0
new file mode 100644 (file)
index 0000000..2c8f54d
--- /dev/null
@@ -0,0 +1,7 @@
+nbdkit \
+--unix /tmp/domain-QEMUGuest1/nbdkit-disk0-src0.socket \
+--foreground ssh \
+host=example.org \
+port=2222 \
+path=test.img \
+known-hosts=/path/to/ssh_known_hosts
index 3f6bd09616f784be2ba1fac8e104a45c174aca91..d0332a8e9f18e3f34a91fe7add6e7333e06cfd4b 100644 (file)
@@ -174,7 +174,10 @@ testNbdkit(const void *data)
     const TestInfo *info = data;
     g_autoptr(virDomainDef) def = NULL;
     size_t i;
+    size_t n;
     int ret = 0;
+    virStorageSource *backing = NULL;
+    g_autofree char *statedir = NULL;
 
     /* restart mock pipe fds so tests are consistent */
     mockpipefd = PIPE_FD_START;
@@ -189,56 +192,61 @@ testNbdkit(const void *data)
                                       VIR_DOMAIN_DEF_PARSE_SKIP_VALIDATE)))
         return -1;
 
+    statedir = g_strdup_printf("/tmp/domain-%s", def->name);
     for (i = 0; i < def->ndisks; i++) {
         virDomainDiskDef *disk = def->disks[i];
-        g_autofree char *statedir = g_strdup_printf("/tmp/statedir-%zi", i);
-        g_autofree char *alias = g_strdup_printf("test-disk-%zi", i);
-        g_autofree char *cmdfile = g_strdup_printf("%s.args.disk%zi",
-                                                   info->outtemplate, i);
-
-        if (qemuNbdkitInitStorageSource(info->nbdkitcaps, disk->src, statedir,
-                                        alias, 101, 101)) {
-            qemuDomainStorageSourcePrivate *srcPriv =
-                qemuDomainStorageSourcePrivateFetch(disk->src);
-            g_autoptr(virCommand) cmd = NULL;
-            g_autoptr(virCommandDryRunToken) dryRunToken = virCommandDryRunTokenNew();
-            g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER;
-            g_autofree char *actualCmdline = NULL;
-            virCommandSendBuffer *sendbuffers;
-            int nsendbuffers;
-            size_t j;
-
-            virCommandSetDryRun(dryRunToken, &buf, true, true, NULL, NULL);
-            cmd = qemuNbdkitProcessBuildCommand(srcPriv->nbdkitProcess);
-
-            if (virCommandRun(cmd, NULL) < 0) {
-                ret = -1;
-                continue;
-            }
-            virCommandPeekSendBuffers(cmd, &sendbuffers, &nsendbuffers);
-
-            if (!(actualCmdline = virBufferContentAndReset(&buf))) {
-                ret = -1;
-                continue;
-            }
+        for (n = 0, backing = disk->src; backing != NULL; n++, backing = backing->backingStore) {
+            g_autofree char *alias = g_strdup_printf("disk%zi-src%zi", i, n);
+            g_autofree char *cmdfile = g_strdup_printf("%s.args.%s",
+                                                       info->outtemplate, alias);
+
+            if (qemuNbdkitInitStorageSource(info->nbdkitcaps, backing, statedir,
+                                            alias, 101, 101)) {
+                qemuDomainStorageSourcePrivate *srcPriv =
+                    qemuDomainStorageSourcePrivateFetch(backing);
+                g_autoptr(virCommand) cmd = NULL;
+                g_autoptr(virCommandDryRunToken) dryRunToken = virCommandDryRunTokenNew();
+                g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER;
+                g_autofree char *actualCmdline = NULL;
+                virCommandSendBuffer *sendbuffers;
+                int nsendbuffers;
+                size_t j;
+
+                if (srcPriv->nbdkitProcess == NULL)
+                    continue;
+
+                virCommandSetDryRun(dryRunToken, &buf, true, true, NULL, NULL);
+                cmd = qemuNbdkitProcessBuildCommand(srcPriv->nbdkitProcess);
+
+                if (virCommandRun(cmd, NULL) < 0) {
+                    ret = -1;
+                    continue;
+                }
+                virCommandPeekSendBuffers(cmd, &sendbuffers, &nsendbuffers);
 
-            if (virTestCompareToFileFull(actualCmdline, cmdfile, false) < 0)
-                ret = -1;
+                if (!(actualCmdline = virBufferContentAndReset(&buf))) {
+                    ret = -1;
+                    continue;
+                }
 
-            for (j = 0; j < nsendbuffers; j++) {
-                virCommandSendBuffer *buffer = &sendbuffers[j];
-                g_autofree char *pipefile = g_strdup_printf("%s.pipe.%i",
-                                                            cmdfile,
-                                                            buffer->fd);
+                if (virTestCompareToFileFull(actualCmdline, cmdfile, false) < 0)
+                    ret = -1;
 
-                if (virTestCompareToFile((const char*)buffer->buffer, pipefile) < 0)
+                for (j = 0; j < nsendbuffers; j++) {
+                    virCommandSendBuffer *buffer = &sendbuffers[j];
+                    g_autofree char *pipefile = g_strdup_printf("%s.pipe.%i",
+                                                                cmdfile,
+                                                                buffer->fd);
+
+                    if (virTestCompareToFile((const char*)buffer->buffer, pipefile) < 0)
+                        ret = -1;
+                }
+            } else {
+                if (virFileExists(cmdfile)) {
+                    virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+                                   "qemuNbdkitInitStorageSource() was not expected to fail");
                     ret = -1;
-            }
-        } else {
-            if (virFileExists(cmdfile)) {
-                virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
-                               "qemuNbdkitInitStorageSource() was not expected to fail");
-                ret = -1;
+                }
             }
         }
     }