[Libguestfs] [PATCH v2 4/5] v2v:tests: use fake virtio-win drivers

Roman Kagan rkagan at virtuozzo.com
Thu Oct 8 13:50:35 UTC 2015


In order to test the copying of virtio-win drivers into the guest during
v2v, create a set of fake virtio-win drivers and make use of them in the
corresponding v2v tests.

Signed-off-by: Roman Kagan <rkagan at virtuozzo.com>
---
changes since v1:
 - moved fake-virtio-win under v2v
 - referred to fake-virtio-win stuff via $PWD in test scripts
 - updated Makefile to package the newly added files (unreliable since
   make dist is still broken)

 v2v/Makefile.am                                   |  4 ++++
 v2v/fake-virtio-win/drivers/i386/Win7/netkvm.cat  |  1 +
 v2v/fake-virtio-win/drivers/i386/Win7/netkvm.inf  |  1 +
 v2v/fake-virtio-win/drivers/i386/Win7/netkvm.sys  |  1 +
 v2v/fake-virtio-win/drivers/i386/Win7/qxl.cat     |  1 +
 v2v/fake-virtio-win/drivers/i386/Win7/qxl.inf     |  1 +
 v2v/fake-virtio-win/drivers/i386/Win7/qxl.sys     |  1 +
 v2v/fake-virtio-win/drivers/i386/Win7/vioscsi.cat |  1 +
 v2v/fake-virtio-win/drivers/i386/Win7/vioscsi.inf |  1 +
 v2v/fake-virtio-win/drivers/i386/Win7/vioscsi.sys |  1 +
 v2v/fake-virtio-win/drivers/i386/Win7/viostor.cat |  1 +
 v2v/fake-virtio-win/drivers/i386/Win7/viostor.inf |  1 +
 v2v/fake-virtio-win/drivers/i386/Win7/viostor.sys |  1 +
 v2v/test-v2v-cdrom.sh                             |  1 +
 v2v/test-v2v-i-ova-two-disks.sh                   |  1 +
 v2v/test-v2v-i-ova.sh                             |  1 +
 v2v/test-v2v-windows-conversion.sh                | 16 ++++++++++++----
 17 files changed, 31 insertions(+), 4 deletions(-)
 create mode 100644 v2v/fake-virtio-win/drivers/i386/Win7/netkvm.cat
 create mode 100644 v2v/fake-virtio-win/drivers/i386/Win7/netkvm.inf
 create mode 100644 v2v/fake-virtio-win/drivers/i386/Win7/netkvm.sys
 create mode 100644 v2v/fake-virtio-win/drivers/i386/Win7/qxl.cat
 create mode 100644 v2v/fake-virtio-win/drivers/i386/Win7/qxl.inf
 create mode 100644 v2v/fake-virtio-win/drivers/i386/Win7/qxl.sys
 create mode 100644 v2v/fake-virtio-win/drivers/i386/Win7/vioscsi.cat
 create mode 100644 v2v/fake-virtio-win/drivers/i386/Win7/vioscsi.inf
 create mode 100644 v2v/fake-virtio-win/drivers/i386/Win7/vioscsi.sys
 create mode 100644 v2v/fake-virtio-win/drivers/i386/Win7/viostor.cat
 create mode 100644 v2v/fake-virtio-win/drivers/i386/Win7/viostor.inf
 create mode 100644 v2v/fake-virtio-win/drivers/i386/Win7/viostor.sys

diff --git a/v2v/Makefile.am b/v2v/Makefile.am
index 9af5d2c..159141f 100644
--- a/v2v/Makefile.am
+++ b/v2v/Makefile.am
@@ -22,6 +22,7 @@ EXTRA_DIST = \
 	v2v_unit_tests.ml \
 	$(TESTS) $(SLOW_TESTS) \
 	$(FAKE_VIRT_TOOLS) \
+	$(FAKE_VIRTIO_WIN) \
 	HACKING \
 	test-v2v-cdrom.expected \
 	test-v2v-cdrom.xml \
@@ -112,6 +113,9 @@ FAKE_VIRT_TOOLS = \
 	$(fake_virt_tools_dir)/rhsrvany.exe \
 	$(fake_virt_tools_dir)/rhev-apt.exe
 
+fake_virtio_win_dir = fake-virtio-win
+FAKE_VIRTIO_WIN = $(wildcard $(fake_virtio_win_dir)/*/*/*/*)
+
 if HAVE_OCAML
 
 bin_PROGRAMS = virt-v2v
diff --git a/v2v/fake-virtio-win/drivers/i386/Win7/netkvm.cat b/v2v/fake-virtio-win/drivers/i386/Win7/netkvm.cat
new file mode 100644
index 0000000..be81e94
--- /dev/null
+++ b/v2v/fake-virtio-win/drivers/i386/Win7/netkvm.cat
@@ -0,0 +1 @@
+This is a fake netkvm.cat, used for testing only
diff --git a/v2v/fake-virtio-win/drivers/i386/Win7/netkvm.inf b/v2v/fake-virtio-win/drivers/i386/Win7/netkvm.inf
new file mode 100644
index 0000000..ab4a68f
--- /dev/null
+++ b/v2v/fake-virtio-win/drivers/i386/Win7/netkvm.inf
@@ -0,0 +1 @@
+This is a fake netkvm.inf, used for testing only
diff --git a/v2v/fake-virtio-win/drivers/i386/Win7/netkvm.sys b/v2v/fake-virtio-win/drivers/i386/Win7/netkvm.sys
new file mode 100644
index 0000000..3a2afae
--- /dev/null
+++ b/v2v/fake-virtio-win/drivers/i386/Win7/netkvm.sys
@@ -0,0 +1 @@
+This is a fake netkvm.sys, used for testing only
diff --git a/v2v/fake-virtio-win/drivers/i386/Win7/qxl.cat b/v2v/fake-virtio-win/drivers/i386/Win7/qxl.cat
new file mode 100644
index 0000000..0af6a9a
--- /dev/null
+++ b/v2v/fake-virtio-win/drivers/i386/Win7/qxl.cat
@@ -0,0 +1 @@
+This is a fake qxl.cat, used for testing only
diff --git a/v2v/fake-virtio-win/drivers/i386/Win7/qxl.inf b/v2v/fake-virtio-win/drivers/i386/Win7/qxl.inf
new file mode 100644
index 0000000..3fb759d
--- /dev/null
+++ b/v2v/fake-virtio-win/drivers/i386/Win7/qxl.inf
@@ -0,0 +1 @@
+This is a fake qxl.inf, used for testing only
diff --git a/v2v/fake-virtio-win/drivers/i386/Win7/qxl.sys b/v2v/fake-virtio-win/drivers/i386/Win7/qxl.sys
new file mode 100644
index 0000000..118ede0
--- /dev/null
+++ b/v2v/fake-virtio-win/drivers/i386/Win7/qxl.sys
@@ -0,0 +1 @@
+This is a fake qxl.sys, used for testing only
diff --git a/v2v/fake-virtio-win/drivers/i386/Win7/vioscsi.cat b/v2v/fake-virtio-win/drivers/i386/Win7/vioscsi.cat
new file mode 100644
index 0000000..056535f
--- /dev/null
+++ b/v2v/fake-virtio-win/drivers/i386/Win7/vioscsi.cat
@@ -0,0 +1 @@
+This is a fake vioscsi.cat, used for testing only
diff --git a/v2v/fake-virtio-win/drivers/i386/Win7/vioscsi.inf b/v2v/fake-virtio-win/drivers/i386/Win7/vioscsi.inf
new file mode 100644
index 0000000..97b3884
--- /dev/null
+++ b/v2v/fake-virtio-win/drivers/i386/Win7/vioscsi.inf
@@ -0,0 +1 @@
+This is a fake vioscsi.inf, used for testing only
diff --git a/v2v/fake-virtio-win/drivers/i386/Win7/vioscsi.sys b/v2v/fake-virtio-win/drivers/i386/Win7/vioscsi.sys
new file mode 100644
index 0000000..102a797
--- /dev/null
+++ b/v2v/fake-virtio-win/drivers/i386/Win7/vioscsi.sys
@@ -0,0 +1 @@
+This is a fake vioscsi.sys, used for testing only
diff --git a/v2v/fake-virtio-win/drivers/i386/Win7/viostor.cat b/v2v/fake-virtio-win/drivers/i386/Win7/viostor.cat
new file mode 100644
index 0000000..6c32f85
--- /dev/null
+++ b/v2v/fake-virtio-win/drivers/i386/Win7/viostor.cat
@@ -0,0 +1 @@
+This is a fake viostor.cat, used for testing only
diff --git a/v2v/fake-virtio-win/drivers/i386/Win7/viostor.inf b/v2v/fake-virtio-win/drivers/i386/Win7/viostor.inf
new file mode 100644
index 0000000..18f416d
--- /dev/null
+++ b/v2v/fake-virtio-win/drivers/i386/Win7/viostor.inf
@@ -0,0 +1 @@
+This is a fake viostor.inf, used for testing only
diff --git a/v2v/fake-virtio-win/drivers/i386/Win7/viostor.sys b/v2v/fake-virtio-win/drivers/i386/Win7/viostor.sys
new file mode 100644
index 0000000..3f9c147
--- /dev/null
+++ b/v2v/fake-virtio-win/drivers/i386/Win7/viostor.sys
@@ -0,0 +1 @@
+This is a fake viostor.sys, used for testing only
diff --git a/v2v/test-v2v-cdrom.sh b/v2v/test-v2v-cdrom.sh
index 1b03b13..42c8347 100755
--- a/v2v/test-v2v-cdrom.sh
+++ b/v2v/test-v2v-cdrom.sh
@@ -49,6 +49,7 @@ if ! test -f $f || ! test -s $f; then
 fi
 
 export VIRT_TOOLS_DATA_DIR="$PWD/fake-virt-tools"
+export VIRTIO_WIN="$PWD/fake-virtio-win"
 
 d=test-v2v-cdrom.d
 rm -rf $d
diff --git a/v2v/test-v2v-i-ova-two-disks.sh b/v2v/test-v2v-i-ova-two-disks.sh
index ea50f16..fc7ace7 100755
--- a/v2v/test-v2v-i-ova-two-disks.sh
+++ b/v2v/test-v2v-i-ova-two-disks.sh
@@ -33,6 +33,7 @@ if [ "$(guestfish get-backend)" = "uml" ]; then
 fi
 
 export VIRT_TOOLS_DATA_DIR="$PWD/fake-virt-tools"
+export VIRTIO_WIN="$PWD/fake-virtio-win"
 
 d=test-v2v-i-ova-two-disks.d
 rm -rf $d
diff --git a/v2v/test-v2v-i-ova.sh b/v2v/test-v2v-i-ova.sh
index 1ec6cce..266382e 100755
--- a/v2v/test-v2v-i-ova.sh
+++ b/v2v/test-v2v-i-ova.sh
@@ -39,6 +39,7 @@ if ! test -f $f || ! test -s $f; then
 fi
 
 export VIRT_TOOLS_DATA_DIR="$PWD/fake-virt-tools"
+export VIRTIO_WIN="$PWD/fake-virtio-win"
 
 d=test-v2v-i-ova.d
 rm -rf $d
diff --git a/v2v/test-v2v-windows-conversion.sh b/v2v/test-v2v-windows-conversion.sh
index 3e3d645..d086bc4 100755
--- a/v2v/test-v2v-windows-conversion.sh
+++ b/v2v/test-v2v-windows-conversion.sh
@@ -42,6 +42,7 @@ if ! test -f $f || ! test -s $f; then
 fi
 
 export VIRT_TOOLS_DATA_DIR="$PWD/fake-virt-tools"
+export VIRTIO_WIN="$PWD/fake-virtio-win"
 
 # Return a random element from the array 'choices'.
 function random_choice
@@ -85,10 +86,17 @@ mktest ()
 :> "$script"
 :> "$expected"
 
-mktest "is-dir \"/Program Files/Red Hat/Firstboot\"" true
-mktest "is-file \"/Program Files/Red Hat/Firstboot/firstboot.bat\"" true
-mktest "is-dir \"/Program Files/Red Hat/Firstboot/scripts\"" true
-mktest "is-dir \"/Windows/Drivers/VirtIO\"" true
+firstboot_dir="/Program Files/Red Hat/Firstboot"
+mktest "is-dir \"$firstboot_dir\"" true
+mktest "is-file \"$firstboot_dir/firstboot.bat\"" true
+mktest "is-dir \"$firstboot_dir/scripts\"" true
+virtio_dir="/Windows/Drivers/VirtIO"
+mktest "is-dir \"$virtio_dir\"" true
+for drv in netkvm qxl vioscsi viostor; do
+    for sfx in cat inf sys; do
+        mktest "is-file \"$virtio_dir/$drv.$sfx\"" true
+    done
+done
 
 guestfish --ro -a "$d/windows-sda" -i < "$script" > "$response"
 diff -u "$expected" "$response"
-- 
2.4.3




More information about the Libguestfs mailing list