[Pkg-libvirt-commits] [libguestfs] 31/65: Version 1.29.34.

Hilko Bengen bengen at moszumanska.debian.org
Tue Apr 21 12:11:00 UTC 2015


This is an automated email from the git hooks/post-receive script.

bengen pushed a commit to branch experimental
in repository libguestfs.

commit 2e6b14e0466bd63423fbd2c729e1ba0bf6764e8d
Author: Richard W.M. Jones <rjones at redhat.com>
Date:   Fri Apr 10 13:48:02 2015 +0100

    Version 1.29.34.
---
 BUGS                        |  25 ++-
 configure.ac                |   2 +-
 po-docs/de.po               | 327 +++++++++++++++++++++++++++++---------
 po-docs/en_GB.po            | 378 ++++++++++++++++++++++++++++++++++----------
 po-docs/es.po               | 327 +++++++++++++++++++++++++++++---------
 po-docs/eu.po               | 327 +++++++++++++++++++++++++++++---------
 po-docs/fr.po               | 364 ++++++++++++++++++++++++++++++++----------
 po-docs/ja.po               | 342 ++++++++++++++++++++++++++++++---------
 po-docs/libguestfs-docs.pot | 327 +++++++++++++++++++++++++++++---------
 po-docs/nl.po               | 327 +++++++++++++++++++++++++++++---------
 po-docs/tg.po               | 327 +++++++++++++++++++++++++++++---------
 po-docs/uk.po               | 372 +++++++++++++++++++++++++++++++++----------
 po-docs/zh_CN.po            | 327 +++++++++++++++++++++++++++++---------
 po/de.po                    |  21 ++-
 po/en_GB.po                 |  21 ++-
 po/es.po                    |  21 ++-
 po/eu.po                    |  21 ++-
 po/fr.po                    |  21 ++-
 po/gu.po                    |  21 ++-
 po/hi.po                    |  21 ++-
 po/ja.po                    |  21 ++-
 po/kn.po                    |  21 ++-
 po/libguestfs.pot           |  23 ++-
 po/ml.po                    |  21 ++-
 po/mr.po                    |  21 ++-
 po/nl.po                    |  21 ++-
 po/or.po                    |  21 ++-
 po/pa.po                    |  21 ++-
 po/pl.po                    |  21 ++-
 po/ru.po                    |  21 ++-
 po/ta.po                    |  21 ++-
 po/te.po                    |  21 ++-
 po/tg.po                    |  21 ++-
 po/uk.po                    |  21 ++-
 po/zh_CN.po                 |  21 ++-
 po/zh_TW.po                 |  21 ++-
 36 files changed, 3294 insertions(+), 963 deletions(-)

diff --git a/BUGS b/BUGS
index dd90f3d..5ccec06 100644
--- a/BUGS
+++ b/BUGS
@@ -1,5 +1,5 @@
 NOTE: This file is automatically generated from "update-bugs.sh".
-Last updated: 2015-04-01
+Last updated: 2015-04-10
 
 This contains a local list of the bugs that are open against
 libguestfs.  Bugs are tracked in the Red Hat Bugzilla database
@@ -65,18 +65,12 @@ Bugs in NEW or ASSIGNED state are open and waiting for someone to fix.
 813290 NEW https://bugzilla.redhat.com/show_bug.cgi?id=813290
   mdadm (md-detail) test occasionally fails with 'md device /dev/md125 does not appear to be active.'
 
-822538 NEW https://bugzilla.redhat.com/show_bug.cgi?id=822538
-  libguestfs tools hang on qcow2 encrypted disks
-
 823758 NEW https://bugzilla.redhat.com/show_bug.cgi?id=823758
   p2v client should have largest number restrictions for CPU and Memory settings
 
 824021 NEW https://bugzilla.redhat.com/show_bug.cgi?id=824021
   inspection cannot recognize guest which uses btrfs subvolumes for root
 
-824782 NEW https://bugzilla.redhat.com/show_bug.cgi?id=824782
-  virt-resize cannot resize PowerPC guests
-
 824867 NEW https://bugzilla.redhat.com/show_bug.cgi?id=824867
   Windows guest with dynamic disk can not boot on rhev after conversion by virt-p2v
 
@@ -302,9 +296,6 @@ Bugs in NEW or ASSIGNED state are open and waiting for someone to fix.
 1129110 NEW https://bugzilla.redhat.com/show_bug.cgi?id=1129110
   Libguestfs NTFS not setting ACLs
 
-1130506 NEW https://bugzilla.redhat.com/show_bug.cgi?id=1130506
-  RFE: virt-sparsify in copying mode should support qemu detect-zeroes
-
 1132652 NEW https://bugzilla.redhat.com/show_bug.cgi?id=1132652
   virt-sysprep firstboot doesn't work with RHEL 7 guest
 
@@ -557,6 +548,9 @@ Bugs in NEW or ASSIGNED state are open and waiting for someone to fix.
 1204131 NEW https://bugzilla.redhat.com/show_bug.cgi?id=1204131
   RFE: virt-builder creates qcow v3 images, add build option for qcow v2
 
+1209225 NEW https://bugzilla.redhat.com/show_bug.cgi?id=1209225
+  Allow configurable location for virtio drivers
+
 503134 ASSIGNED https://bugzilla.redhat.com/show_bug.cgi?id=503134
   guestfish's list splitting does not recognize internal quoting
 
@@ -578,6 +572,9 @@ Bugs in NEW or ASSIGNED state are open and waiting for someone to fix.
 691389 ASSIGNED https://bugzilla.redhat.com/show_bug.cgi?id=691389
   SELinux labels don't work over guestmount (FUSE)
 
+824782 ASSIGNED https://bugzilla.redhat.com/show_bug.cgi?id=824782
+  virt-resize cannot resize PowerPC guests
+
 845234 ASSIGNED https://bugzilla.redhat.com/show_bug.cgi?id=845234
   RFE: virt-ls on Windows guest doesn't support drive letters
 
@@ -593,6 +590,9 @@ Bugs in NEW or ASSIGNED state are open and waiting for someone to fix.
 1113153 ASSIGNED https://bugzilla.redhat.com/show_bug.cgi?id=1113153
   RFE: Inspection should support systemd mount units
 
+1130506 ASSIGNED https://bugzilla.redhat.com/show_bug.cgi?id=1130506
+  RFE: virt-sparsify in copying mode should support qemu detect-zeroes
+
 1141631 ASSIGNED https://bugzilla.redhat.com/show_bug.cgi?id=1141631
   [RFE] virt-v2v should support convert a guest to a dir-pool with using pool's uuid
 
@@ -605,13 +605,10 @@ Bugs in NEW or ASSIGNED state are open and waiting for someone to fix.
 1156298 ASSIGNED https://bugzilla.redhat.com/show_bug.cgi?id=1156298
   Remove files in package libguestfs-bash-completion, these files are bash completion files, some of the virt tool completion are already implement in another file, so can remove its completion file
 
-1196101 ASSIGNED https://bugzilla.redhat.com/show_bug.cgi?id=1196101
-  virt-builder --upload option doesn't work to a FAT partition
-
 1198344 ASSIGNED https://bugzilla.redhat.com/show_bug.cgi?id=1198344
   [RFE] virt-builder should support download resume
 
-(197 bugs)
+(196 bugs)
 
 --------------------------------------------------
 Bugs in MODIFIED, POST or ON_QA state are fixed.
diff --git a/configure.ac b/configure.ac
index 60224e0..4182bd8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,7 +26,7 @@
 # freeform string.
 m4_define([libguestfs_major],   [1])
 m4_define([libguestfs_minor],   [29])
-m4_define([libguestfs_release], [33])
+m4_define([libguestfs_release], [34])
 
 AC_INIT([libguestfs],libguestfs_major.libguestfs_minor.libguestfs_release)
 AC_CONFIG_AUX_DIR([build-aux])
diff --git a/po-docs/de.po b/po-docs/de.po
index 7ecb6a0..29e3625 100644
--- a/po-docs/de.po
+++ b/po-docs/de.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: libguestfs 1.29.26\n"
 "Report-Msgid-Bugs-To: libguestfs at redhat.com\n"
-"POT-Creation-Date: 2015-04-01 10:05+0100\n"
+"POT-Creation-Date: 2015-04-10 13:46+0100\n"
 "PO-Revision-Date: 2015-01-04 11:17-0500\n"
 "Last-Translator: Mario Blättermann <mario.blaettermann at gmail.com>\n"
 "Language-Team: German (http://www.transifex.com/projects/p/libguestfs/"
@@ -1264,9 +1264,9 @@ msgstr "Dieses Programm gibt Folgendes zurück:"
 #: ../sysprep/virt-sysprep.pod:414 ../tools/virt-win-reg:194
 #: ../tools/virt-win-reg:199 ../tools/virt-win-reg:205
 #: ../tools/virt-win-reg:754 ../tools/virt-win-reg:760
-#: ../tools/virt-win-reg:766 ../v2v/test-harness/virt-v2v-test-harness.pod:122
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:126
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:130 ../v2v/virt-v2v.pod:598
+#: ../tools/virt-win-reg:766 ../v2v/test-harness/virt-v2v-test-harness.pod:172
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:176
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:180 ../v2v/virt-v2v.pod:598
 #: ../v2v/virt-v2v.pod:603 ../v2v/virt-v2v.pod:608 ../v2v/virt-v2v.pod:612
 #: ../v2v/virt-v2v.pod:756 ../v2v/virt-v2v.pod:761 ../v2v/virt-v2v.pod:772
 #: ../v2v/virt-v2v.pod:784 ../v2v/virt-v2v.pod:790 ../v2v/virt-v2v.pod:795
@@ -1351,7 +1351,7 @@ msgstr ""
 #: ../sysprep/virt-sysprep.pod:559 ../test-tool/libguestfs-test-tool.pod:178
 #: ../tools/virt-list-filesystems:181 ../tools/virt-list-partitions:263
 #: ../tools/virt-tar:292 ../tools/virt-win-reg:785
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:177 ../v2v/virt-v2v.pod:1513
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:260 ../v2v/virt-v2v.pod:1513
 msgid "SEE ALSO"
 msgstr "SIEHE AUCH"
 
@@ -1391,7 +1391,7 @@ msgstr "AUTOR"
 #: ../resize/virt-resize.pod:781 ../sparsify/virt-sparsify.pod:454
 #: ../sysprep/virt-sysprep.pod:578 ../tools/virt-list-filesystems:195
 #: ../tools/virt-list-partitions:276 ../tools/virt-tar:308
-#: ../tools/virt-win-reg:801 ../v2v/test-harness/virt-v2v-test-harness.pod:186
+#: ../tools/virt-win-reg:801 ../v2v/test-harness/virt-v2v-test-harness.pod:272
 #: ../v2v/virt-v2v.pod:1530
 msgid "Richard W.M. Jones L<http://people.redhat.com/~rjones/>"
 msgstr "Richard W.M. Jones L<http://people.redhat.com/~rjones/>"
@@ -1424,7 +1424,7 @@ msgstr "Richard W.M. Jones L<http://people.redhat.com/~rjones/>"
 #: ../sysprep/virt-sysprep.pod:582 ../test-tool/libguestfs-test-tool.pod:188
 #: ../tools/virt-list-filesystems:197 ../tools/virt-list-partitions:278
 #: ../tools/virt-tar:310 ../tools/virt-win-reg:803
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:188 ../v2v/virt-v2v.pod:1540
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:274 ../v2v/virt-v2v.pod:1540
 msgid "COPYRIGHT"
 msgstr "COPYRIGHT"
 
@@ -1758,7 +1758,7 @@ msgstr ""
 #: ../python/examples/guestfs-python.pod:65
 #: ../ruby/examples/guestfs-ruby.pod:48 ../src/guestfs.pod:4847
 #: ../sysprep/virt-sysprep.pod:576 ../test-tool/libguestfs-test-tool.pod:184
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:184 ../v2v/virt-v2v.pod:1528
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:270 ../v2v/virt-v2v.pod:1528
 msgid "AUTHORS"
 msgstr "AUTOREN"
 
@@ -8724,7 +8724,7 @@ msgstr ""
 #: ../daemon/guestfsd.pod:76 ../fish/guestfish.pod:1531
 #: ../fuse/guestmount.pod:404 ../p2v/virt-p2v-make-disk.pod:72
 #: ../p2v/virt-p2v-make-kickstart.pod:162 ../rescue/virt-rescue.pod:393
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:157 ../v2v/virt-v2v.pod:1443
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:242 ../v2v/virt-v2v.pod:1443
 msgid "FILES"
 msgstr "DATEIEN"
 
@@ -85454,8 +85454,8 @@ msgstr ""
 
 #. type: verbatim
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:7
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:112
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:141
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:162
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:191
 #, no-wrap
 msgid ""
 " open V2v_test_harness\n"
@@ -85466,17 +85466,17 @@ msgstr ""
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:9
 #, no-wrap
 msgid ""
-" let test = \"rhel45-i386-fv\"\n"
+" let test = \"rhel_45_i386_fv\"\n"
 " let test_plan = {\n"
 "   default_plan with\n"
-"     boot_plan = Boot_to_screenshot (test ^ \".ppm\")\n"
+"     boot_plan = Boot_to_screenshot (test ^ \"-login.ppm\")\n"
 " }\n"
 " \n"
 msgstr ""
 
 #. type: verbatim
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:15
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:149
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:199
 #, no-wrap
 msgid ""
 " let () = run ~test ~test_plan ()\n"
@@ -85527,62 +85527,149 @@ msgstr ""
 #. type: textblock
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:42
 msgid ""
-"The freely redistributable test cases can be downloaded from: I<B<Download "
-"location TBD>>"
+"The freely redistributable test cases can be downloaded from: L<http://git."
+"annexia.org/?p=virt-v2v-test-cases-free.git> I<B<not available yet>>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:45
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:46
 msgid ""
-"The proprietary test cases are not made available to the public, for obvious "
-"licensing reasons."
+"The proprietary test cases are available at L<http://git.annexia.org/?p=virt-"
+"v2v-test-cases-nonfree.git> This I<does not> contain the proprietary images "
+"themselves, which are not made available to the public for licensing reasons."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:48
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:51
 msgid ""
 "The test cases consist of disk images which are very large, from 250 MB "
 "through to tens of gigabytes I<each>.  This means that distributing test "
-"cases can be very time-consuming and expensive."
+"cases can be very time-consuming and expensive.  We use L<git-annex(1)> to "
+"distribute the test images."
 msgstr ""
 
 #. type: =head2
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:52
-msgid "RUNNING THE TEST CASES"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:56
+msgid "REQUIREMENTS"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:54
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:58
 msgid ""
-"To run the test cases you must install the virt-v2v test harness (the OCaml "
-"module: C<V2v_test_harness>, source in C<libguestfs.git/v2v/test-harness>).  "
-"In Fedora, install the C<virt-v2v-test-harness> package."
+"It's recommended to use an idle machine for testing.  You will need B<a lot "
+"of disk space> to run the tests, in excess of S<100 GB>.  You should also "
+"ensure the test machine has plenty of RAM, at least S<16 GB>."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:63
+msgid "GETTING THE TEST HARNESS"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:65
+msgid "To run the test cases you must have the virt-v2v test harness."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:67
+msgid "The OCaml module is C<V2v_test_harness>."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:69
+msgid ""
+"The easiest way is to compile libguestfs from source (I<note> do not install "
+"it).  The test harness will be in C<libguestfs/v2v/test-harness>"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:73
+msgid "It is also possible to install test harness as an OCaml module."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:75
+msgid "RUNNING THE TEST CASES"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:59
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:77
 msgid ""
 "Once you have checked out the freely redistributed test cases from the "
 "repository, do:"
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:62
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:80
 #, no-wrap
 msgid ""
-" ./configure\n"
+" ./configure [--with-test-harness=/path/to/libguestfs/v2v/test-harness]\n"
 " make\n"
 " make check\n"
 "\n"
 msgstr ""
 
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:84
+msgid "PARALLEL TESTS"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:86
+msgid "You can run test cases in parallel by doing:"
+msgstr ""
+
+#. type: verbatim
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:88
+#, no-wrap
+msgid ""
+" make check -j<N>\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:90
+msgid ""
+"(eg. C<-j2> for running up to 2 tests in parallel).  Be careful about "
+"running too many parallel tests, as it can slow down each test enough to "
+"cause false failures."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:94
+msgid "RUNNING TEST CASES AGAINST UPSTREAM VIRT-V2V"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:96
+msgid ""
+"Using C<make check> picks up whatever C<virt-v2v> binary is on your C<$PATH>."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:99
+msgid ""
+"If you have compiled libguestfs from source and want to test that version of "
+"virt-v2v, use the libguestfs C<run> script (in the top-level build directory "
+"of the libguestfs sources).  eg:"
+msgstr ""
+
+#. type: verbatim
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:103
+#, no-wrap
+msgid ""
+" ../libguestfs/run make check\n"
+"\n"
+msgstr ""
+
 #. type: =head1
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:66
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:105
 msgid "WRITING NEW TEST CASES"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:68
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:107
 msgid ""
 "If you are interested in writing test cases, it is suggested that you start "
 "by downloading the freely redistributable test cases, or at least look at "
@@ -85590,54 +85677,68 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:72
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:111
 msgid ""
-"Also you must install the virt-v2v test harness (the OCaml module: "
-"C<V2v_test_harness>, source in C<libguestfs.git/v2v/test-harness>).  In "
-"Fedora, install the C<virt-v2v-test-harness> package."
+"Also you must have the virt-v2v test harness - see L</GETTING THE TEST "
+"HARNESS> above."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:114
+msgid "FILES IN EACH TEST CASE"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:76
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:116
 msgid "Each test case consists of:"
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:80
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:120
 msgid "I<test>.img.xz"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:82
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:122
 msgid ""
 "The disk image of the virtual machine before conversion.  Usually this "
 "should be converted to raw format and xz-compressed."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:85
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:125
+msgid "I<test>.ova"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:127
+msgid "Alternatively, an OVA, exported from VMware, may be used."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:129
 msgid "I<test>.xml"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:87
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:131
 msgid ""
 "The libvirt XML used as input to virt-v2v.  See the discussion of I<-i "
 "libvirtxml> in L<virt-v2v(1)>."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:90
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:134
 msgid "I<test>.ppm"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:92
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:136
 msgid "An optional screenshot or screenshots."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:94
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:138
 msgid ""
 "You can supply zero or more \"known good\" screenshots which represent "
 "intermediate steps where the guest is booting.  This is useful where a guest "
@@ -85646,39 +85747,51 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:99
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:143
 msgid ""
 "You can supply zero or one \"final\" screenshot.  This is often a screenshot "
 "of the login page which indicates that the guest booted successfully."
 msgstr ""
 
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:147
+msgid ""
+"The screenshots are captured using L<virsh(1)>.  Comparison of screenshots "
+"against the test images is done using the ImageMagick L<compare(1)> program."
+msgstr ""
+
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:103
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:151
 msgid "I<test>.ml"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:105
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:153
 msgid "The test itself - see below."
 msgstr ""
 
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:157
+msgid "WRITING THE TEST"
+msgstr ""
+
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:109
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:159
 msgid ""
 "The test file (C<*.ml>) is used to control the test harness, and minimally "
 "it would look something like this:"
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:114
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:164
 #, no-wrap
 msgid ""
-" let test = \"short-name\"\n"
+" let test = \"short_name\"\n"
 " \n"
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:116
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:166
 #, no-wrap
 msgid ""
 " let () = run ~test ()\n"
@@ -85686,29 +85799,29 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:118
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:168
 msgid "That would instruct the test harness to:"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:124
-msgid "Uncompress C<I<short-name>.img.xz>"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:174
+msgid "Uncompress C<I<short_name>.img.xz>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:128
-msgid "Run C<virt-v2v -i libvirtxml I<short-name>.xml [...]>"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:178
+msgid "Run C<virt-v2v -i libvirtxml I<short_name>.xml [...]>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:132
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:182
 msgid ""
 "Boot the resulting guest and check that it writes to its disk and then the "
 "disk becomes idle."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:137
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:187
 msgid ""
 "The above is a rather simplistic test.  A more realistic test is to ensure "
 "the guest reaches a final milestone (screenshot), eg. a login page.  To do "
@@ -85716,10 +85829,10 @@ msgid ""
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:143
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:193
 #, no-wrap
 msgid ""
-" let test = \"short-name\"\n"
+" let test = \"short_name\"\n"
 " let test_plan = {\n"
 "   default_plan with\n"
 "     boot_plan = Boot_to_screenshot (test ^ \".ppm\")\n"
@@ -85728,7 +85841,7 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:151
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:201
 msgid ""
 "For an even better test, you can supply post-conversion and post-boot test "
 "cases which examine the disk image (using libguestfs) to verify that files "
@@ -85736,52 +85849,116 @@ msgid ""
 "See C<V2v_test_harness.mli> for more information on how to do that."
 msgstr ""
 
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:207
+msgid "FILES GENERATED BY RUNNING THE TEST"
+msgstr ""
+
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:159
-msgid "Note: To find the value of C<$ocamllibdir>, run:"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:209
+msgid "When you run each test, the following files can be created:"
 msgstr ""
 
-#. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:161
-#, no-wrap
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:213
+msgid "I<test>-I<yyyymmdd-hhmmss>.scrn"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:215
 msgid ""
-" ocamlc -where\n"
-"\n"
+"Screenshot(s) of the guest's graphical console.  These are helpful when "
+"writing tests or debugging test failures."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:218
+msgid "The screenshot format is Portable Pixmap (PPM)."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:165
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:220
+msgid "I<test>.img"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:222
+msgid "The uncompressed original disk image (before conversion)."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:224
+msgid "I<test>-converted-sda"
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:226
+msgid "I<test>-converted.xml"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:228
+msgid ""
+"The result of conversion, ie. after running virt-v2v but before test-booting "
+"the guest.  See the L<virt-v2v(1)> manual page description of I<-o local>."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:232
+msgid "The disk image format is qcow2."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:234
+msgid "I<test>-booted-sda"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:236
+msgid ""
+"The disk image after test-booting.  This is a qcow2 file which uses the "
+"I<test>-converted-sda file as a backing disk, in order to save disk space."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:246
 msgid "C<$ocamllibdir/v2v_test_harness/v2v_test_harness.mli>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:167
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:248
 msgid ""
 "The test library interface.  Read this for detailed programming "
 "documentation."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:170
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:251
 msgid "C<$ocamllibdir/v2v_test_harness/META>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:172
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:253
 msgid ""
 "The findlib META file allowing you to use the library from L<ocamlfind(1)>."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:179
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:258
+msgid "NB: To find the value of C<$ocamllibdir>, run C<ocamlc -where>"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:262
 #, fuzzy
 #| msgid "L<guestfs(3)>, L<http://libguestfs.org/>."
 msgid ""
-"L<virt-v2v(1)>, L<virt-p2v(1)>, L<guestfs(3)>, L<http://libguestfs.org/>."
+"L<virt-v2v(1)>, L<virt-p2v(1)>, L<guestfs(3)>, L<virsh(1)>, L<compare(1)>, "
+"L<git-annex(1)>, L<http://libguestfs.org/>."
 msgstr "L<guestfs(3)>, L<http://libguestfs.org/>."
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:190
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:276
 #, fuzzy
 #| msgid "Copyright (C) 2010-2012 Red Hat Inc."
 msgid "Copyright (C) 2014-2015 Red Hat Inc."
diff --git a/po-docs/en_GB.po b/po-docs/en_GB.po
index 0129f5c..9f1a76a 100644
--- a/po-docs/en_GB.po
+++ b/po-docs/en_GB.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: libguestfs 1.29.26\n"
 "Report-Msgid-Bugs-To: libguestfs at redhat.com\n"
-"POT-Creation-Date: 2015-04-01 10:05+0100\n"
+"POT-Creation-Date: 2015-04-10 13:46+0100\n"
 "PO-Revision-Date: 2014-10-18 04:01-0400\n"
 "Last-Translator: rjones <rjones at redhat.com>\n"
 "Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/"
@@ -1414,9 +1414,9 @@ msgstr "This program returns:"
 #: ../sysprep/virt-sysprep.pod:414 ../tools/virt-win-reg:194
 #: ../tools/virt-win-reg:199 ../tools/virt-win-reg:205
 #: ../tools/virt-win-reg:754 ../tools/virt-win-reg:760
-#: ../tools/virt-win-reg:766 ../v2v/test-harness/virt-v2v-test-harness.pod:122
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:126
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:130 ../v2v/virt-v2v.pod:598
+#: ../tools/virt-win-reg:766 ../v2v/test-harness/virt-v2v-test-harness.pod:172
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:176
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:180 ../v2v/virt-v2v.pod:598
 #: ../v2v/virt-v2v.pod:603 ../v2v/virt-v2v.pod:608 ../v2v/virt-v2v.pod:612
 #: ../v2v/virt-v2v.pod:756 ../v2v/virt-v2v.pod:761 ../v2v/virt-v2v.pod:772
 #: ../v2v/virt-v2v.pod:784 ../v2v/virt-v2v.pod:790 ../v2v/virt-v2v.pod:795
@@ -1506,7 +1506,7 @@ msgstr ""
 #: ../sysprep/virt-sysprep.pod:559 ../test-tool/libguestfs-test-tool.pod:178
 #: ../tools/virt-list-filesystems:181 ../tools/virt-list-partitions:263
 #: ../tools/virt-tar:292 ../tools/virt-win-reg:785
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:177 ../v2v/virt-v2v.pod:1513
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:260 ../v2v/virt-v2v.pod:1513
 msgid "SEE ALSO"
 msgstr "SEE ALSO"
 
@@ -1546,7 +1546,7 @@ msgstr "AUTHOR"
 #: ../resize/virt-resize.pod:781 ../sparsify/virt-sparsify.pod:454
 #: ../sysprep/virt-sysprep.pod:578 ../tools/virt-list-filesystems:195
 #: ../tools/virt-list-partitions:276 ../tools/virt-tar:308
-#: ../tools/virt-win-reg:801 ../v2v/test-harness/virt-v2v-test-harness.pod:186
+#: ../tools/virt-win-reg:801 ../v2v/test-harness/virt-v2v-test-harness.pod:272
 #: ../v2v/virt-v2v.pod:1530
 msgid "Richard W.M. Jones L<http://people.redhat.com/~rjones/>"
 msgstr "Richard W.M. Jones L<http://people.redhat.com/~rjones/>"
@@ -1579,7 +1579,7 @@ msgstr "Richard W.M. Jones L<http://people.redhat.com/~rjones/>"
 #: ../sysprep/virt-sysprep.pod:582 ../test-tool/libguestfs-test-tool.pod:188
 #: ../tools/virt-list-filesystems:197 ../tools/virt-list-partitions:278
 #: ../tools/virt-tar:310 ../tools/virt-win-reg:803
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:188 ../v2v/virt-v2v.pod:1540
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:274 ../v2v/virt-v2v.pod:1540
 msgid "COPYRIGHT"
 msgstr "COPYRIGHT"
 
@@ -1979,7 +1979,7 @@ msgstr ""
 #: ../python/examples/guestfs-python.pod:65
 #: ../ruby/examples/guestfs-ruby.pod:48 ../src/guestfs.pod:4847
 #: ../sysprep/virt-sysprep.pod:576 ../test-tool/libguestfs-test-tool.pod:184
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:184 ../v2v/virt-v2v.pod:1528
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:270 ../v2v/virt-v2v.pod:1528
 msgid "AUTHORS"
 msgstr "AUTHORS"
 
@@ -9223,7 +9223,7 @@ msgstr ""
 #: ../daemon/guestfsd.pod:76 ../fish/guestfish.pod:1531
 #: ../fuse/guestmount.pod:404 ../p2v/virt-p2v-make-disk.pod:72
 #: ../p2v/virt-p2v-make-kickstart.pod:162 ../rescue/virt-rescue.pod:393
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:157 ../v2v/virt-v2v.pod:1443
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:242 ../v2v/virt-v2v.pod:1443
 msgid "FILES"
 msgstr "FILES"
 
@@ -100671,8 +100671,8 @@ msgstr ""
 
 #. type: verbatim
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:7
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:112
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:141
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:162
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:191
 #, no-wrap
 msgid ""
 " open V2v_test_harness\n"
@@ -100683,17 +100683,17 @@ msgstr ""
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:9
 #, no-wrap
 msgid ""
-" let test = \"rhel45-i386-fv\"\n"
+" let test = \"rhel_45_i386_fv\"\n"
 " let test_plan = {\n"
 "   default_plan with\n"
-"     boot_plan = Boot_to_screenshot (test ^ \".ppm\")\n"
+"     boot_plan = Boot_to_screenshot (test ^ \"-login.ppm\")\n"
 " }\n"
 " \n"
 msgstr ""
 
 #. type: verbatim
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:15
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:149
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:199
 #, no-wrap
 msgid ""
 " let () = run ~test ~test_plan ()\n"
@@ -100744,69 +100744,163 @@ msgstr ""
 #. type: textblock
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:42
 msgid ""
-"The freely redistributable test cases can be downloaded from: I<B<Download "
-"location TBD>>"
+"The freely redistributable test cases can be downloaded from: L<http://git."
+"annexia.org/?p=virt-v2v-test-cases-free.git> I<B<not available yet>>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:45
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:46
 msgid ""
-"The proprietary test cases are not made available to the public, for obvious "
-"licensing reasons."
+"The proprietary test cases are available at L<http://git.annexia.org/?p=virt-"
+"v2v-test-cases-nonfree.git> This I<does not> contain the proprietary images "
+"themselves, which are not made available to the public for licensing reasons."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:48
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:51
 msgid ""
 "The test cases consist of disk images which are very large, from 250 MB "
 "through to tens of gigabytes I<each>.  This means that distributing test "
-"cases can be very time-consuming and expensive."
+"cases can be very time-consuming and expensive.  We use L<git-annex(1)> to "
+"distribute the test images."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:56
+msgid "REQUIREMENTS"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:58
+msgid ""
+"It's recommended to use an idle machine for testing.  You will need B<a lot "
+"of disk space> to run the tests, in excess of S<100 GB>.  You should also "
+"ensure the test machine has plenty of RAM, at least S<16 GB>."
 msgstr ""
 
 #. type: =head2
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:52
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:63
 #, fuzzy
 #| msgid "RUNNING UNTRUSTED GUEST COMMANDS"
-msgid "RUNNING THE TEST CASES"
+msgid "GETTING THE TEST HARNESS"
 msgstr "RUNNING UNTRUSTED GUEST COMMANDS"
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:54
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:65
+msgid "To run the test cases you must have the virt-v2v test harness."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:67
+msgid "The OCaml module is C<V2v_test_harness>."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:69
 msgid ""
-"To run the test cases you must install the virt-v2v test harness (the OCaml "
-"module: C<V2v_test_harness>, source in C<libguestfs.git/v2v/test-harness>).  "
-"In Fedora, install the C<virt-v2v-test-harness> package."
+"The easiest way is to compile libguestfs from source (I<note> do not install "
+"it).  The test harness will be in C<libguestfs/v2v/test-harness>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:59
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:73
+msgid "It is also possible to install test harness as an OCaml module."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:75
+#, fuzzy
+#| msgid "RUNNING UNTRUSTED GUEST COMMANDS"
+msgid "RUNNING THE TEST CASES"
+msgstr "RUNNING UNTRUSTED GUEST COMMANDS"
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:77
 msgid ""
 "Once you have checked out the freely redistributed test cases from the "
 "repository, do:"
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:62
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:80
+#, no-wrap
+msgid ""
+" ./configure [--with-test-harness=/path/to/libguestfs/v2v/test-harness]\n"
+" make\n"
+" make check\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:84
+#, fuzzy
+#| msgid "PARALLEL APPLIANCES"
+msgid "PARALLEL TESTS"
+msgstr "PARALLEL APPLIANCES"
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:86
+#, fuzzy
+#| msgid "You can list all the static markers by doing:"
+msgid "You can run test cases in parallel by doing:"
+msgstr "You can list all the static markers by doing:"
+
+#. type: verbatim
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:88
+#, fuzzy, no-wrap
+#| msgid "C<make check>"
+msgid ""
+" make check -j<N>\n"
+"\n"
+msgstr "C<make check>"
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:90
+msgid ""
+"(eg. C<-j2> for running up to 2 tests in parallel).  Be careful about "
+"running too many parallel tests, as it can slow down each test enough to "
+"cause false failures."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:94
+msgid "RUNNING TEST CASES AGAINST UPSTREAM VIRT-V2V"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:96
+msgid ""
+"Using C<make check> picks up whatever C<virt-v2v> binary is on your C<$PATH>."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:99
+msgid ""
+"If you have compiled libguestfs from source and want to test that version of "
+"virt-v2v, use the libguestfs C<run> script (in the top-level build directory "
+"of the libguestfs sources).  eg:"
+msgstr ""
+
+#. type: verbatim
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:103
 #, fuzzy, no-wrap
 #| msgid ""
 #| " ./localconfigure && make\n"
 #| "\n"
 msgid ""
-" ./configure\n"
-" make\n"
-" make check\n"
+" ../libguestfs/run make check\n"
 "\n"
 msgstr ""
 " ./localconfigure && make\n"
 "\n"
 
 #. type: =head1
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:66
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:105
 msgid "WRITING NEW TEST CASES"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:68
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:107
 msgid ""
 "If you are interested in writing test cases, it is suggested that you start "
 "by downloading the freely redistributable test cases, or at least look at "
@@ -100814,60 +100908,78 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:72
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:111
 msgid ""
-"Also you must install the virt-v2v test harness (the OCaml module: "
-"C<V2v_test_harness>, source in C<libguestfs.git/v2v/test-harness>).  In "
-"Fedora, install the C<virt-v2v-test-harness> package."
+"Also you must have the virt-v2v test harness - see L</GETTING THE TEST "
+"HARNESS> above."
 msgstr ""
 
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:114
+#, fuzzy
+#| msgid "RUNNING UNTRUSTED GUEST COMMANDS"
+msgid "FILES IN EACH TEST CASE"
+msgstr "RUNNING UNTRUSTED GUEST COMMANDS"
+
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:76
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:116
 msgid "Each test case consists of:"
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:80
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:120
 #, fuzzy
 #| msgid "test1.img"
 msgid "I<test>.img.xz"
 msgstr "test1.img"
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:82
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:122
 msgid ""
 "The disk image of the virtual machine before conversion.  Usually this "
 "should be converted to raw format and xz-compressed."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:85
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:125
+#, fuzzy
+#| msgid "C<tests>"
+msgid "I<test>.ova"
+msgstr "C<tests>"
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:127
+msgid "Alternatively, an OVA, exported from VMware, may be used."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:129
 #, fuzzy
 #| msgid "C<tests>"
 msgid "I<test>.xml"
 msgstr "C<tests>"
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:87
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:131
 msgid ""
 "The libvirt XML used as input to virt-v2v.  See the discussion of I<-i "
 "libvirtxml> in L<virt-v2v(1)>."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:90
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:134
 #, fuzzy
 #| msgid "C<tests>"
 msgid "I<test>.ppm"
 msgstr "C<tests>"
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:92
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:136
 msgid "An optional screenshot or screenshots."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:94
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:138
 msgid ""
 "You can supply zero or more \"known good\" screenshots which represent "
 "intermediate steps where the guest is booting.  This is useful where a guest "
@@ -100876,41 +100988,55 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:99
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:143
 msgid ""
 "You can supply zero or one \"final\" screenshot.  This is often a screenshot "
 "of the login page which indicates that the guest booted successfully."
 msgstr ""
 
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:147
+msgid ""
+"The screenshots are captured using L<virsh(1)>.  Comparison of screenshots "
+"against the test images is done using the ImageMagick L<compare(1)> program."
+msgstr ""
+
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:103
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:151
 #, fuzzy
 #| msgid "C<tests>"
 msgid "I<test>.ml"
 msgstr "C<tests>"
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:105
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:153
 msgid "The test itself - see below."
 msgstr ""
 
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:157
+#, fuzzy
+#| msgid "RUNNING UNTRUSTED GUEST COMMANDS"
+msgid "WRITING THE TEST"
+msgstr "RUNNING UNTRUSTED GUEST COMMANDS"
+
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:109
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:159
 msgid ""
 "The test file (C<*.ml>) is used to control the test harness, and minimally "
 "it would look something like this:"
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:114
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:164
 #, no-wrap
 msgid ""
-" let test = \"short-name\"\n"
+" let test = \"short_name\"\n"
 " \n"
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:116
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:166
 #, no-wrap
 msgid ""
 " let () = run ~test ()\n"
@@ -100918,29 +101044,29 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:118
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:168
 msgid "That would instruct the test harness to:"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:124
-msgid "Uncompress C<I<short-name>.img.xz>"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:174
+msgid "Uncompress C<I<short_name>.img.xz>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:128
-msgid "Run C<virt-v2v -i libvirtxml I<short-name>.xml [...]>"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:178
+msgid "Run C<virt-v2v -i libvirtxml I<short_name>.xml [...]>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:132
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:182
 msgid ""
 "Boot the resulting guest and check that it writes to its disk and then the "
 "disk becomes idle."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:137
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:187
 msgid ""
 "The above is a rather simplistic test.  A more realistic test is to ensure "
 "the guest reaches a final milestone (screenshot), eg. a login page.  To do "
@@ -100948,10 +101074,10 @@ msgid ""
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:143
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:193
 #, no-wrap
 msgid ""
-" let test = \"short-name\"\n"
+" let test = \"short_name\"\n"
 " let test_plan = {\n"
 "   default_plan with\n"
 "     boot_plan = Boot_to_screenshot (test ^ \".ppm\")\n"
@@ -100960,7 +101086,7 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:151
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:201
 msgid ""
 "For an even better test, you can supply post-conversion and post-boot test "
 "cases which examine the disk image (using libguestfs) to verify that files "
@@ -100968,52 +101094,124 @@ msgid ""
 "See C<V2v_test_harness.mli> for more information on how to do that."
 msgstr ""
 
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:207
+msgid "FILES GENERATED BY RUNNING THE TEST"
+msgstr ""
+
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:159
-msgid "Note: To find the value of C<$ocamllibdir>, run:"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:209
+#, fuzzy
+#| msgid "On Linux the following files are removed:"
+msgid "When you run each test, the following files can be created:"
+msgstr "On Linux the following files are removed:"
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:213
+msgid "I<test>-I<yyyymmdd-hhmmss>.scrn"
 msgstr ""
 
-#. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:161
-#, no-wrap
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:215
 msgid ""
-" ocamlc -where\n"
-"\n"
+"Screenshot(s) of the guest's graphical console.  These are helpful when "
+"writing tests or debugging test failures."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:218
+msgid "The screenshot format is Portable Pixmap (PPM)."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:220
+#, fuzzy
+#| msgid "test1.img"
+msgid "I<test>.img"
+msgstr "test1.img"
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:222
+msgid "The uncompressed original disk image (before conversion)."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:224
+msgid "I<test>-converted-sda"
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:226
+#, fuzzy
+#| msgid "C<tests>"
+msgid "I<test>-converted.xml"
+msgstr "C<tests>"
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:228
+msgid ""
+"The result of conversion, ie. after running virt-v2v but before test-booting "
+"the guest.  See the L<virt-v2v(1)> manual page description of I<-o local>."
 msgstr ""
 
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:232
+#, fuzzy
+#| msgid "Choose the output disk image format."
+msgid "The disk image format is qcow2."
+msgstr "Choose the output disk image format."
+
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:165
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:234
+msgid "I<test>-booted-sda"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:236
+msgid ""
+"The disk image after test-booting.  This is a qcow2 file which uses the "
+"I<test>-converted-sda file as a backing disk, in order to save disk space."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:246
 msgid "C<$ocamllibdir/v2v_test_harness/v2v_test_harness.mli>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:167
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:248
 msgid ""
 "The test library interface.  Read this for detailed programming "
 "documentation."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:170
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:251
 msgid "C<$ocamllibdir/v2v_test_harness/META>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:172
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:253
 msgid ""
 "The findlib META file allowing you to use the library from L<ocamlfind(1)>."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:179
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:258
+msgid "NB: To find the value of C<$ocamllibdir>, run C<ocamlc -where>"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:262
 #, fuzzy
 #| msgid "L<guestfish(1)>, L<guestfs(3)>, L<http://libguestfs.org/>."
 msgid ""
-"L<virt-v2v(1)>, L<virt-p2v(1)>, L<guestfs(3)>, L<http://libguestfs.org/>."
+"L<virt-v2v(1)>, L<virt-p2v(1)>, L<guestfs(3)>, L<virsh(1)>, L<compare(1)>, "
+"L<git-annex(1)>, L<http://libguestfs.org/>."
 msgstr "L<guestfish(1)>, L<guestfs(3)>, L<http://libguestfs.org/>."
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:190
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:276
 #, fuzzy
 #| msgid "Copyright (C) 2010-2012 Red Hat Inc."
 msgid "Copyright (C) 2014-2015 Red Hat Inc."
@@ -103881,19 +104079,29 @@ msgstr ""
 #~ msgid ""
 #~ " $ annotate-output +'%T.%N' guestfish -a /dev/null run -v\n"
 #~ " 22:17:53.215784625 I: Started guestfish -a /dev/null run -v\n"
-#~ " 22:17:53.240335409 E: libguestfs: [00000ms] supermin-helper --verbose -f checksum '/usr/lib64/guestfs/supermin.d' x86_64\n"
-#~ " 22:17:53.266857866 E: supermin helper [00000ms] whitelist = (not specified), host_cpu = x86_64, kernel = (null), initrd = (null), appliance = (null)\n"
-#~ " 22:17:53.272704072 E: supermin helper [00000ms] inputs[0] = /usr/lib64/guestfs/supermin.d\n"
-#~ " 22:17:53.276528651 E: checking modpath /lib/modules/3.4.0-1.fc17.x86_64.debug is a directory\n"
+#~ " 22:17:53.240335409 E: libguestfs: [00000ms] supermin-helper --verbose -f "
+#~ "checksum '/usr/lib64/guestfs/supermin.d' x86_64\n"
+#~ " 22:17:53.266857866 E: supermin helper [00000ms] whitelist = (not "
+#~ "specified), host_cpu = x86_64, kernel = (null), initrd = (null), "
+#~ "appliance = (null)\n"
+#~ " 22:17:53.272704072 E: supermin helper [00000ms] inputs[0] = /usr/lib64/"
+#~ "guestfs/supermin.d\n"
+#~ " 22:17:53.276528651 E: checking modpath /lib/modules/3.4.0-1.fc17.x86_64."
+#~ "debug is a directory\n"
 #~ " [etc]\n"
 #~ "\n"
 #~ msgstr ""
 #~ " $ annotate-output +'%T.%N' guestfish -a /dev/null run -v\n"
 #~ " 22:17:53.215784625 I: Started guestfish -a /dev/null run -v\n"
-#~ " 22:17:53.240335409 E: libguestfs: [00000ms] supermin-helper --verbose -f checksum '/usr/lib64/guestfs/supermin.d' x86_64\n"
-#~ " 22:17:53.266857866 E: supermin helper [00000ms] whitelist = (not specified), host_cpu = x86_64, kernel = (null), initrd = (null), appliance = (null)\n"
-#~ " 22:17:53.272704072 E: supermin helper [00000ms] inputs[0] = /usr/lib64/guestfs/supermin.d\n"
-#~ " 22:17:53.276528651 E: checking modpath /lib/modules/3.4.0-1.fc17.x86_64.debug is a directory\n"
+#~ " 22:17:53.240335409 E: libguestfs: [00000ms] supermin-helper --verbose -f "
+#~ "checksum '/usr/lib64/guestfs/supermin.d' x86_64\n"
+#~ " 22:17:53.266857866 E: supermin helper [00000ms] whitelist = (not "
+#~ "specified), host_cpu = x86_64, kernel = (null), initrd = (null), "
+#~ "appliance = (null)\n"
+#~ " 22:17:53.272704072 E: supermin helper [00000ms] inputs[0] = /usr/lib64/"
+#~ "guestfs/supermin.d\n"
+#~ " 22:17:53.276528651 E: checking modpath /lib/modules/3.4.0-1.fc17.x86_64."
+#~ "debug is a directory\n"
 #~ " [etc]\n"
 #~ "\n"
 
diff --git a/po-docs/es.po b/po-docs/es.po
index 55f53a6..03c2399 100644
--- a/po-docs/es.po
+++ b/po-docs/es.po
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: libguestfs 1.29.26\n"
 "Report-Msgid-Bugs-To: libguestfs at redhat.com\n"
-"POT-Creation-Date: 2015-04-01 10:05+0100\n"
+"POT-Creation-Date: 2015-04-10 13:46+0100\n"
 "PO-Revision-Date: 2014-10-18 04:01-0400\n"
 "Last-Translator: rjones <rjones at redhat.com>\n"
 "Language-Team: Spanish (http://www.transifex.com/projects/p/libguestfs/"
@@ -1242,9 +1242,9 @@ msgstr ""
 #: ../sysprep/virt-sysprep.pod:414 ../tools/virt-win-reg:194
 #: ../tools/virt-win-reg:199 ../tools/virt-win-reg:205
 #: ../tools/virt-win-reg:754 ../tools/virt-win-reg:760
-#: ../tools/virt-win-reg:766 ../v2v/test-harness/virt-v2v-test-harness.pod:122
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:126
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:130 ../v2v/virt-v2v.pod:598
+#: ../tools/virt-win-reg:766 ../v2v/test-harness/virt-v2v-test-harness.pod:172
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:176
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:180 ../v2v/virt-v2v.pod:598
 #: ../v2v/virt-v2v.pod:603 ../v2v/virt-v2v.pod:608 ../v2v/virt-v2v.pod:612
 #: ../v2v/virt-v2v.pod:756 ../v2v/virt-v2v.pod:761 ../v2v/virt-v2v.pod:772
 #: ../v2v/virt-v2v.pod:784 ../v2v/virt-v2v.pod:790 ../v2v/virt-v2v.pod:795
@@ -1329,7 +1329,7 @@ msgstr ""
 #: ../sysprep/virt-sysprep.pod:559 ../test-tool/libguestfs-test-tool.pod:178
 #: ../tools/virt-list-filesystems:181 ../tools/virt-list-partitions:263
 #: ../tools/virt-tar:292 ../tools/virt-win-reg:785
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:177 ../v2v/virt-v2v.pod:1513
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:260 ../v2v/virt-v2v.pod:1513
 msgid "SEE ALSO"
 msgstr "VEA TAMBIÉN"
 
@@ -1367,7 +1367,7 @@ msgstr ""
 #: ../resize/virt-resize.pod:781 ../sparsify/virt-sparsify.pod:454
 #: ../sysprep/virt-sysprep.pod:578 ../tools/virt-list-filesystems:195
 #: ../tools/virt-list-partitions:276 ../tools/virt-tar:308
-#: ../tools/virt-win-reg:801 ../v2v/test-harness/virt-v2v-test-harness.pod:186
+#: ../tools/virt-win-reg:801 ../v2v/test-harness/virt-v2v-test-harness.pod:272
 #: ../v2v/virt-v2v.pod:1530
 msgid "Richard W.M. Jones L<http://people.redhat.com/~rjones/>"
 msgstr ""
@@ -1400,7 +1400,7 @@ msgstr ""
 #: ../sysprep/virt-sysprep.pod:582 ../test-tool/libguestfs-test-tool.pod:188
 #: ../tools/virt-list-filesystems:197 ../tools/virt-list-partitions:278
 #: ../tools/virt-tar:310 ../tools/virt-win-reg:803
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:188 ../v2v/virt-v2v.pod:1540
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:274 ../v2v/virt-v2v.pod:1540
 msgid "COPYRIGHT"
 msgstr ""
 
@@ -1730,7 +1730,7 @@ msgstr ""
 #: ../python/examples/guestfs-python.pod:65
 #: ../ruby/examples/guestfs-ruby.pod:48 ../src/guestfs.pod:4847
 #: ../sysprep/virt-sysprep.pod:576 ../test-tool/libguestfs-test-tool.pod:184
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:184 ../v2v/virt-v2v.pod:1528
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:270 ../v2v/virt-v2v.pod:1528
 msgid "AUTHORS"
 msgstr ""
 
@@ -8552,7 +8552,7 @@ msgstr ""
 #: ../daemon/guestfsd.pod:76 ../fish/guestfish.pod:1531
 #: ../fuse/guestmount.pod:404 ../p2v/virt-p2v-make-disk.pod:72
 #: ../p2v/virt-p2v-make-kickstart.pod:162 ../rescue/virt-rescue.pod:393
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:157 ../v2v/virt-v2v.pod:1443
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:242 ../v2v/virt-v2v.pod:1443
 msgid "FILES"
 msgstr ""
 
@@ -85031,8 +85031,8 @@ msgstr ""
 
 #. type: verbatim
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:7
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:112
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:141
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:162
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:191
 #, no-wrap
 msgid ""
 " open V2v_test_harness\n"
@@ -85043,17 +85043,17 @@ msgstr ""
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:9
 #, no-wrap
 msgid ""
-" let test = \"rhel45-i386-fv\"\n"
+" let test = \"rhel_45_i386_fv\"\n"
 " let test_plan = {\n"
 "   default_plan with\n"
-"     boot_plan = Boot_to_screenshot (test ^ \".ppm\")\n"
+"     boot_plan = Boot_to_screenshot (test ^ \"-login.ppm\")\n"
 " }\n"
 " \n"
 msgstr ""
 
 #. type: verbatim
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:15
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:149
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:199
 #, no-wrap
 msgid ""
 " let () = run ~test ~test_plan ()\n"
@@ -85104,62 +85104,149 @@ msgstr ""
 #. type: textblock
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:42
 msgid ""
-"The freely redistributable test cases can be downloaded from: I<B<Download "
-"location TBD>>"
+"The freely redistributable test cases can be downloaded from: L<http://git."
+"annexia.org/?p=virt-v2v-test-cases-free.git> I<B<not available yet>>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:45
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:46
 msgid ""
-"The proprietary test cases are not made available to the public, for obvious "
-"licensing reasons."
+"The proprietary test cases are available at L<http://git.annexia.org/?p=virt-"
+"v2v-test-cases-nonfree.git> This I<does not> contain the proprietary images "
+"themselves, which are not made available to the public for licensing reasons."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:48
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:51
 msgid ""
 "The test cases consist of disk images which are very large, from 250 MB "
 "through to tens of gigabytes I<each>.  This means that distributing test "
-"cases can be very time-consuming and expensive."
+"cases can be very time-consuming and expensive.  We use L<git-annex(1)> to "
+"distribute the test images."
 msgstr ""
 
 #. type: =head2
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:52
-msgid "RUNNING THE TEST CASES"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:56
+msgid "REQUIREMENTS"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:54
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:58
 msgid ""
-"To run the test cases you must install the virt-v2v test harness (the OCaml "
-"module: C<V2v_test_harness>, source in C<libguestfs.git/v2v/test-harness>).  "
-"In Fedora, install the C<virt-v2v-test-harness> package."
+"It's recommended to use an idle machine for testing.  You will need B<a lot "
+"of disk space> to run the tests, in excess of S<100 GB>.  You should also "
+"ensure the test machine has plenty of RAM, at least S<16 GB>."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:63
+msgid "GETTING THE TEST HARNESS"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:65
+msgid "To run the test cases you must have the virt-v2v test harness."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:67
+msgid "The OCaml module is C<V2v_test_harness>."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:69
+msgid ""
+"The easiest way is to compile libguestfs from source (I<note> do not install "
+"it).  The test harness will be in C<libguestfs/v2v/test-harness>"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:73
+msgid "It is also possible to install test harness as an OCaml module."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:75
+msgid "RUNNING THE TEST CASES"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:59
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:77
 msgid ""
 "Once you have checked out the freely redistributed test cases from the "
 "repository, do:"
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:62
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:80
 #, no-wrap
 msgid ""
-" ./configure\n"
+" ./configure [--with-test-harness=/path/to/libguestfs/v2v/test-harness]\n"
 " make\n"
 " make check\n"
 "\n"
 msgstr ""
 
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:84
+msgid "PARALLEL TESTS"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:86
+msgid "You can run test cases in parallel by doing:"
+msgstr ""
+
+#. type: verbatim
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:88
+#, no-wrap
+msgid ""
+" make check -j<N>\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:90
+msgid ""
+"(eg. C<-j2> for running up to 2 tests in parallel).  Be careful about "
+"running too many parallel tests, as it can slow down each test enough to "
+"cause false failures."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:94
+msgid "RUNNING TEST CASES AGAINST UPSTREAM VIRT-V2V"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:96
+msgid ""
+"Using C<make check> picks up whatever C<virt-v2v> binary is on your C<$PATH>."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:99
+msgid ""
+"If you have compiled libguestfs from source and want to test that version of "
+"virt-v2v, use the libguestfs C<run> script (in the top-level build directory "
+"of the libguestfs sources).  eg:"
+msgstr ""
+
+#. type: verbatim
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:103
+#, no-wrap
+msgid ""
+" ../libguestfs/run make check\n"
+"\n"
+msgstr ""
+
 #. type: =head1
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:66
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:105
 msgid "WRITING NEW TEST CASES"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:68
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:107
 msgid ""
 "If you are interested in writing test cases, it is suggested that you start "
 "by downloading the freely redistributable test cases, or at least look at "
@@ -85167,54 +85254,68 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:72
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:111
 msgid ""
-"Also you must install the virt-v2v test harness (the OCaml module: "
-"C<V2v_test_harness>, source in C<libguestfs.git/v2v/test-harness>).  In "
-"Fedora, install the C<virt-v2v-test-harness> package."
+"Also you must have the virt-v2v test harness - see L</GETTING THE TEST "
+"HARNESS> above."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:114
+msgid "FILES IN EACH TEST CASE"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:76
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:116
 msgid "Each test case consists of:"
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:80
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:120
 msgid "I<test>.img.xz"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:82
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:122
 msgid ""
 "The disk image of the virtual machine before conversion.  Usually this "
 "should be converted to raw format and xz-compressed."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:85
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:125
+msgid "I<test>.ova"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:127
+msgid "Alternatively, an OVA, exported from VMware, may be used."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:129
 msgid "I<test>.xml"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:87
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:131
 msgid ""
 "The libvirt XML used as input to virt-v2v.  See the discussion of I<-i "
 "libvirtxml> in L<virt-v2v(1)>."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:90
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:134
 msgid "I<test>.ppm"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:92
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:136
 msgid "An optional screenshot or screenshots."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:94
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:138
 msgid ""
 "You can supply zero or more \"known good\" screenshots which represent "
 "intermediate steps where the guest is booting.  This is useful where a guest "
@@ -85223,39 +85324,51 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:99
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:143
 msgid ""
 "You can supply zero or one \"final\" screenshot.  This is often a screenshot "
 "of the login page which indicates that the guest booted successfully."
 msgstr ""
 
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:147
+msgid ""
+"The screenshots are captured using L<virsh(1)>.  Comparison of screenshots "
+"against the test images is done using the ImageMagick L<compare(1)> program."
+msgstr ""
+
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:103
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:151
 msgid "I<test>.ml"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:105
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:153
 msgid "The test itself - see below."
 msgstr ""
 
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:157
+msgid "WRITING THE TEST"
+msgstr ""
+
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:109
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:159
 msgid ""
 "The test file (C<*.ml>) is used to control the test harness, and minimally "
 "it would look something like this:"
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:114
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:164
 #, no-wrap
 msgid ""
-" let test = \"short-name\"\n"
+" let test = \"short_name\"\n"
 " \n"
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:116
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:166
 #, no-wrap
 msgid ""
 " let () = run ~test ()\n"
@@ -85263,29 +85376,29 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:118
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:168
 msgid "That would instruct the test harness to:"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:124
-msgid "Uncompress C<I<short-name>.img.xz>"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:174
+msgid "Uncompress C<I<short_name>.img.xz>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:128
-msgid "Run C<virt-v2v -i libvirtxml I<short-name>.xml [...]>"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:178
+msgid "Run C<virt-v2v -i libvirtxml I<short_name>.xml [...]>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:132
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:182
 msgid ""
 "Boot the resulting guest and check that it writes to its disk and then the "
 "disk becomes idle."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:137
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:187
 msgid ""
 "The above is a rather simplistic test.  A more realistic test is to ensure "
 "the guest reaches a final milestone (screenshot), eg. a login page.  To do "
@@ -85293,10 +85406,10 @@ msgid ""
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:143
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:193
 #, no-wrap
 msgid ""
-" let test = \"short-name\"\n"
+" let test = \"short_name\"\n"
 " let test_plan = {\n"
 "   default_plan with\n"
 "     boot_plan = Boot_to_screenshot (test ^ \".ppm\")\n"
@@ -85305,7 +85418,7 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:151
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:201
 msgid ""
 "For an even better test, you can supply post-conversion and post-boot test "
 "cases which examine the disk image (using libguestfs) to verify that files "
@@ -85313,50 +85426,114 @@ msgid ""
 "See C<V2v_test_harness.mli> for more information on how to do that."
 msgstr ""
 
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:207
+msgid "FILES GENERATED BY RUNNING THE TEST"
+msgstr ""
+
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:159
-msgid "Note: To find the value of C<$ocamllibdir>, run:"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:209
+msgid "When you run each test, the following files can be created:"
 msgstr ""
 
-#. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:161
-#, no-wrap
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:213
+msgid "I<test>-I<yyyymmdd-hhmmss>.scrn"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:215
 msgid ""
-" ocamlc -where\n"
-"\n"
+"Screenshot(s) of the guest's graphical console.  These are helpful when "
+"writing tests or debugging test failures."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:218
+msgid "The screenshot format is Portable Pixmap (PPM)."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:165
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:220
+msgid "I<test>.img"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:222
+msgid "The uncompressed original disk image (before conversion)."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:224
+msgid "I<test>-converted-sda"
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:226
+msgid "I<test>-converted.xml"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:228
+msgid ""
+"The result of conversion, ie. after running virt-v2v but before test-booting "
+"the guest.  See the L<virt-v2v(1)> manual page description of I<-o local>."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:232
+msgid "The disk image format is qcow2."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:234
+msgid "I<test>-booted-sda"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:236
+msgid ""
+"The disk image after test-booting.  This is a qcow2 file which uses the "
+"I<test>-converted-sda file as a backing disk, in order to save disk space."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:246
 msgid "C<$ocamllibdir/v2v_test_harness/v2v_test_harness.mli>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:167
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:248
 msgid ""
 "The test library interface.  Read this for detailed programming "
 "documentation."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:170
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:251
 msgid "C<$ocamllibdir/v2v_test_harness/META>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:172
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:253
 msgid ""
 "The findlib META file allowing you to use the library from L<ocamlfind(1)>."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:179
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:258
+msgid "NB: To find the value of C<$ocamllibdir>, run C<ocamlc -where>"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:262
 msgid ""
-"L<virt-v2v(1)>, L<virt-p2v(1)>, L<guestfs(3)>, L<http://libguestfs.org/>."
+"L<virt-v2v(1)>, L<virt-p2v(1)>, L<guestfs(3)>, L<virsh(1)>, L<compare(1)>, "
+"L<git-annex(1)>, L<http://libguestfs.org/>."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:190
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:276
 msgid "Copyright (C) 2014-2015 Red Hat Inc."
 msgstr ""
 
diff --git a/po-docs/eu.po b/po-docs/eu.po
index d34c588..6e7dcee 100644
--- a/po-docs/eu.po
+++ b/po-docs/eu.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: libguestfs 1.29.26\n"
 "Report-Msgid-Bugs-To: libguestfs at redhat.com\n"
-"POT-Creation-Date: 2015-04-01 10:05+0100\n"
+"POT-Creation-Date: 2015-04-10 13:46+0100\n"
 "PO-Revision-Date: 2014-10-18 04:01-0400\n"
 "Last-Translator: rjones <rjones at redhat.com>\n"
 "Language-Team: Basque (http://www.transifex.com/projects/p/libguestfs/"
@@ -1241,9 +1241,9 @@ msgstr ""
 #: ../sysprep/virt-sysprep.pod:414 ../tools/virt-win-reg:194
 #: ../tools/virt-win-reg:199 ../tools/virt-win-reg:205
 #: ../tools/virt-win-reg:754 ../tools/virt-win-reg:760
-#: ../tools/virt-win-reg:766 ../v2v/test-harness/virt-v2v-test-harness.pod:122
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:126
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:130 ../v2v/virt-v2v.pod:598
+#: ../tools/virt-win-reg:766 ../v2v/test-harness/virt-v2v-test-harness.pod:172
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:176
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:180 ../v2v/virt-v2v.pod:598
 #: ../v2v/virt-v2v.pod:603 ../v2v/virt-v2v.pod:608 ../v2v/virt-v2v.pod:612
 #: ../v2v/virt-v2v.pod:756 ../v2v/virt-v2v.pod:761 ../v2v/virt-v2v.pod:772
 #: ../v2v/virt-v2v.pod:784 ../v2v/virt-v2v.pod:790 ../v2v/virt-v2v.pod:795
@@ -1328,7 +1328,7 @@ msgstr ""
 #: ../sysprep/virt-sysprep.pod:559 ../test-tool/libguestfs-test-tool.pod:178
 #: ../tools/virt-list-filesystems:181 ../tools/virt-list-partitions:263
 #: ../tools/virt-tar:292 ../tools/virt-win-reg:785
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:177 ../v2v/virt-v2v.pod:1513
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:260 ../v2v/virt-v2v.pod:1513
 msgid "SEE ALSO"
 msgstr "IKUS BAITA"
 
@@ -1366,7 +1366,7 @@ msgstr ""
 #: ../resize/virt-resize.pod:781 ../sparsify/virt-sparsify.pod:454
 #: ../sysprep/virt-sysprep.pod:578 ../tools/virt-list-filesystems:195
 #: ../tools/virt-list-partitions:276 ../tools/virt-tar:308
-#: ../tools/virt-win-reg:801 ../v2v/test-harness/virt-v2v-test-harness.pod:186
+#: ../tools/virt-win-reg:801 ../v2v/test-harness/virt-v2v-test-harness.pod:272
 #: ../v2v/virt-v2v.pod:1530
 msgid "Richard W.M. Jones L<http://people.redhat.com/~rjones/>"
 msgstr ""
@@ -1399,7 +1399,7 @@ msgstr ""
 #: ../sysprep/virt-sysprep.pod:582 ../test-tool/libguestfs-test-tool.pod:188
 #: ../tools/virt-list-filesystems:197 ../tools/virt-list-partitions:278
 #: ../tools/virt-tar:310 ../tools/virt-win-reg:803
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:188 ../v2v/virt-v2v.pod:1540
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:274 ../v2v/virt-v2v.pod:1540
 msgid "COPYRIGHT"
 msgstr ""
 
@@ -1729,7 +1729,7 @@ msgstr ""
 #: ../python/examples/guestfs-python.pod:65
 #: ../ruby/examples/guestfs-ruby.pod:48 ../src/guestfs.pod:4847
 #: ../sysprep/virt-sysprep.pod:576 ../test-tool/libguestfs-test-tool.pod:184
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:184 ../v2v/virt-v2v.pod:1528
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:270 ../v2v/virt-v2v.pod:1528
 msgid "AUTHORS"
 msgstr "EGILEAK"
 
@@ -8550,7 +8550,7 @@ msgstr ""
 #: ../daemon/guestfsd.pod:76 ../fish/guestfish.pod:1531
 #: ../fuse/guestmount.pod:404 ../p2v/virt-p2v-make-disk.pod:72
 #: ../p2v/virt-p2v-make-kickstart.pod:162 ../rescue/virt-rescue.pod:393
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:157 ../v2v/virt-v2v.pod:1443
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:242 ../v2v/virt-v2v.pod:1443
 msgid "FILES"
 msgstr ""
 
@@ -84418,8 +84418,8 @@ msgstr ""
 
 #. type: verbatim
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:7
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:112
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:141
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:162
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:191
 #, no-wrap
 msgid ""
 " open V2v_test_harness\n"
@@ -84430,17 +84430,17 @@ msgstr ""
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:9
 #, no-wrap
 msgid ""
-" let test = \"rhel45-i386-fv\"\n"
+" let test = \"rhel_45_i386_fv\"\n"
 " let test_plan = {\n"
 "   default_plan with\n"
-"     boot_plan = Boot_to_screenshot (test ^ \".ppm\")\n"
+"     boot_plan = Boot_to_screenshot (test ^ \"-login.ppm\")\n"
 " }\n"
 " \n"
 msgstr ""
 
 #. type: verbatim
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:15
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:149
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:199
 #, no-wrap
 msgid ""
 " let () = run ~test ~test_plan ()\n"
@@ -84491,62 +84491,149 @@ msgstr ""
 #. type: textblock
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:42
 msgid ""
-"The freely redistributable test cases can be downloaded from: I<B<Download "
-"location TBD>>"
+"The freely redistributable test cases can be downloaded from: L<http://git."
+"annexia.org/?p=virt-v2v-test-cases-free.git> I<B<not available yet>>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:45
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:46
 msgid ""
-"The proprietary test cases are not made available to the public, for obvious "
-"licensing reasons."
+"The proprietary test cases are available at L<http://git.annexia.org/?p=virt-"
+"v2v-test-cases-nonfree.git> This I<does not> contain the proprietary images "
+"themselves, which are not made available to the public for licensing reasons."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:48
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:51
 msgid ""
 "The test cases consist of disk images which are very large, from 250 MB "
 "through to tens of gigabytes I<each>.  This means that distributing test "
-"cases can be very time-consuming and expensive."
+"cases can be very time-consuming and expensive.  We use L<git-annex(1)> to "
+"distribute the test images."
 msgstr ""
 
 #. type: =head2
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:52
-msgid "RUNNING THE TEST CASES"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:56
+msgid "REQUIREMENTS"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:54
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:58
 msgid ""
-"To run the test cases you must install the virt-v2v test harness (the OCaml "
-"module: C<V2v_test_harness>, source in C<libguestfs.git/v2v/test-harness>).  "
-"In Fedora, install the C<virt-v2v-test-harness> package."
+"It's recommended to use an idle machine for testing.  You will need B<a lot "
+"of disk space> to run the tests, in excess of S<100 GB>.  You should also "
+"ensure the test machine has plenty of RAM, at least S<16 GB>."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:63
+msgid "GETTING THE TEST HARNESS"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:65
+msgid "To run the test cases you must have the virt-v2v test harness."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:67
+msgid "The OCaml module is C<V2v_test_harness>."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:69
+msgid ""
+"The easiest way is to compile libguestfs from source (I<note> do not install "
+"it).  The test harness will be in C<libguestfs/v2v/test-harness>"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:73
+msgid "It is also possible to install test harness as an OCaml module."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:75
+msgid "RUNNING THE TEST CASES"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:59
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:77
 msgid ""
 "Once you have checked out the freely redistributed test cases from the "
 "repository, do:"
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:62
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:80
 #, no-wrap
 msgid ""
-" ./configure\n"
+" ./configure [--with-test-harness=/path/to/libguestfs/v2v/test-harness]\n"
 " make\n"
 " make check\n"
 "\n"
 msgstr ""
 
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:84
+msgid "PARALLEL TESTS"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:86
+msgid "You can run test cases in parallel by doing:"
+msgstr ""
+
+#. type: verbatim
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:88
+#, no-wrap
+msgid ""
+" make check -j<N>\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:90
+msgid ""
+"(eg. C<-j2> for running up to 2 tests in parallel).  Be careful about "
+"running too many parallel tests, as it can slow down each test enough to "
+"cause false failures."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:94
+msgid "RUNNING TEST CASES AGAINST UPSTREAM VIRT-V2V"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:96
+msgid ""
+"Using C<make check> picks up whatever C<virt-v2v> binary is on your C<$PATH>."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:99
+msgid ""
+"If you have compiled libguestfs from source and want to test that version of "
+"virt-v2v, use the libguestfs C<run> script (in the top-level build directory "
+"of the libguestfs sources).  eg:"
+msgstr ""
+
+#. type: verbatim
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:103
+#, no-wrap
+msgid ""
+" ../libguestfs/run make check\n"
+"\n"
+msgstr ""
+
 #. type: =head1
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:66
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:105
 msgid "WRITING NEW TEST CASES"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:68
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:107
 msgid ""
 "If you are interested in writing test cases, it is suggested that you start "
 "by downloading the freely redistributable test cases, or at least look at "
@@ -84554,54 +84641,68 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:72
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:111
 msgid ""
-"Also you must install the virt-v2v test harness (the OCaml module: "
-"C<V2v_test_harness>, source in C<libguestfs.git/v2v/test-harness>).  In "
-"Fedora, install the C<virt-v2v-test-harness> package."
+"Also you must have the virt-v2v test harness - see L</GETTING THE TEST "
+"HARNESS> above."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:114
+msgid "FILES IN EACH TEST CASE"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:76
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:116
 msgid "Each test case consists of:"
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:80
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:120
 msgid "I<test>.img.xz"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:82
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:122
 msgid ""
 "The disk image of the virtual machine before conversion.  Usually this "
 "should be converted to raw format and xz-compressed."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:85
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:125
+msgid "I<test>.ova"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:127
+msgid "Alternatively, an OVA, exported from VMware, may be used."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:129
 msgid "I<test>.xml"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:87
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:131
 msgid ""
 "The libvirt XML used as input to virt-v2v.  See the discussion of I<-i "
 "libvirtxml> in L<virt-v2v(1)>."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:90
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:134
 msgid "I<test>.ppm"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:92
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:136
 msgid "An optional screenshot or screenshots."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:94
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:138
 msgid ""
 "You can supply zero or more \"known good\" screenshots which represent "
 "intermediate steps where the guest is booting.  This is useful where a guest "
@@ -84610,39 +84711,51 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:99
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:143
 msgid ""
 "You can supply zero or one \"final\" screenshot.  This is often a screenshot "
 "of the login page which indicates that the guest booted successfully."
 msgstr ""
 
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:147
+msgid ""
+"The screenshots are captured using L<virsh(1)>.  Comparison of screenshots "
+"against the test images is done using the ImageMagick L<compare(1)> program."
+msgstr ""
+
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:103
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:151
 msgid "I<test>.ml"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:105
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:153
 msgid "The test itself - see below."
 msgstr ""
 
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:157
+msgid "WRITING THE TEST"
+msgstr ""
+
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:109
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:159
 msgid ""
 "The test file (C<*.ml>) is used to control the test harness, and minimally "
 "it would look something like this:"
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:114
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:164
 #, no-wrap
 msgid ""
-" let test = \"short-name\"\n"
+" let test = \"short_name\"\n"
 " \n"
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:116
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:166
 #, no-wrap
 msgid ""
 " let () = run ~test ()\n"
@@ -84650,29 +84763,29 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:118
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:168
 msgid "That would instruct the test harness to:"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:124
-msgid "Uncompress C<I<short-name>.img.xz>"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:174
+msgid "Uncompress C<I<short_name>.img.xz>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:128
-msgid "Run C<virt-v2v -i libvirtxml I<short-name>.xml [...]>"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:178
+msgid "Run C<virt-v2v -i libvirtxml I<short_name>.xml [...]>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:132
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:182
 msgid ""
 "Boot the resulting guest and check that it writes to its disk and then the "
 "disk becomes idle."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:137
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:187
 msgid ""
 "The above is a rather simplistic test.  A more realistic test is to ensure "
 "the guest reaches a final milestone (screenshot), eg. a login page.  To do "
@@ -84680,10 +84793,10 @@ msgid ""
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:143
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:193
 #, no-wrap
 msgid ""
-" let test = \"short-name\"\n"
+" let test = \"short_name\"\n"
 " let test_plan = {\n"
 "   default_plan with\n"
 "     boot_plan = Boot_to_screenshot (test ^ \".ppm\")\n"
@@ -84692,7 +84805,7 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:151
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:201
 msgid ""
 "For an even better test, you can supply post-conversion and post-boot test "
 "cases which examine the disk image (using libguestfs) to verify that files "
@@ -84700,50 +84813,114 @@ msgid ""
 "See C<V2v_test_harness.mli> for more information on how to do that."
 msgstr ""
 
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:207
+msgid "FILES GENERATED BY RUNNING THE TEST"
+msgstr ""
+
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:159
-msgid "Note: To find the value of C<$ocamllibdir>, run:"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:209
+msgid "When you run each test, the following files can be created:"
 msgstr ""
 
-#. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:161
-#, no-wrap
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:213
+msgid "I<test>-I<yyyymmdd-hhmmss>.scrn"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:215
 msgid ""
-" ocamlc -where\n"
-"\n"
+"Screenshot(s) of the guest's graphical console.  These are helpful when "
+"writing tests or debugging test failures."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:218
+msgid "The screenshot format is Portable Pixmap (PPM)."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:165
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:220
+msgid "I<test>.img"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:222
+msgid "The uncompressed original disk image (before conversion)."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:224
+msgid "I<test>-converted-sda"
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:226
+msgid "I<test>-converted.xml"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:228
+msgid ""
+"The result of conversion, ie. after running virt-v2v but before test-booting "
+"the guest.  See the L<virt-v2v(1)> manual page description of I<-o local>."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:232
+msgid "The disk image format is qcow2."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:234
+msgid "I<test>-booted-sda"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:236
+msgid ""
+"The disk image after test-booting.  This is a qcow2 file which uses the "
+"I<test>-converted-sda file as a backing disk, in order to save disk space."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:246
 msgid "C<$ocamllibdir/v2v_test_harness/v2v_test_harness.mli>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:167
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:248
 msgid ""
 "The test library interface.  Read this for detailed programming "
 "documentation."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:170
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:251
 msgid "C<$ocamllibdir/v2v_test_harness/META>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:172
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:253
 msgid ""
 "The findlib META file allowing you to use the library from L<ocamlfind(1)>."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:179
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:258
+msgid "NB: To find the value of C<$ocamllibdir>, run C<ocamlc -where>"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:262
 msgid ""
-"L<virt-v2v(1)>, L<virt-p2v(1)>, L<guestfs(3)>, L<http://libguestfs.org/>."
+"L<virt-v2v(1)>, L<virt-p2v(1)>, L<guestfs(3)>, L<virsh(1)>, L<compare(1)>, "
+"L<git-annex(1)>, L<http://libguestfs.org/>."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:190
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:276
 msgid "Copyright (C) 2014-2015 Red Hat Inc."
 msgstr ""
 
diff --git a/po-docs/fr.po b/po-docs/fr.po
index 3a0f08a..72e7a48 100644
--- a/po-docs/fr.po
+++ b/po-docs/fr.po
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: libguestfs 1.29.26\n"
 "Report-Msgid-Bugs-To: libguestfs at redhat.com\n"
-"POT-Creation-Date: 2015-04-01 10:05+0100\n"
+"POT-Creation-Date: 2015-04-10 13:46+0100\n"
 "PO-Revision-Date: 2014-10-18 04:01-0400\n"
 "Last-Translator: rjones <rjones at redhat.com>\n"
 "Language-Team: French (http://www.transifex.com/projects/p/libguestfs/"
@@ -1305,9 +1305,9 @@ msgstr ""
 #: ../sysprep/virt-sysprep.pod:414 ../tools/virt-win-reg:194
 #: ../tools/virt-win-reg:199 ../tools/virt-win-reg:205
 #: ../tools/virt-win-reg:754 ../tools/virt-win-reg:760
-#: ../tools/virt-win-reg:766 ../v2v/test-harness/virt-v2v-test-harness.pod:122
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:126
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:130 ../v2v/virt-v2v.pod:598
+#: ../tools/virt-win-reg:766 ../v2v/test-harness/virt-v2v-test-harness.pod:172
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:176
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:180 ../v2v/virt-v2v.pod:598
 #: ../v2v/virt-v2v.pod:603 ../v2v/virt-v2v.pod:608 ../v2v/virt-v2v.pod:612
 #: ../v2v/virt-v2v.pod:756 ../v2v/virt-v2v.pod:761 ../v2v/virt-v2v.pod:772
 #: ../v2v/virt-v2v.pod:784 ../v2v/virt-v2v.pod:790 ../v2v/virt-v2v.pod:795
@@ -1392,7 +1392,7 @@ msgstr ""
 #: ../sysprep/virt-sysprep.pod:559 ../test-tool/libguestfs-test-tool.pod:178
 #: ../tools/virt-list-filesystems:181 ../tools/virt-list-partitions:263
 #: ../tools/virt-tar:292 ../tools/virt-win-reg:785
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:177 ../v2v/virt-v2v.pod:1513
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:260 ../v2v/virt-v2v.pod:1513
 msgid "SEE ALSO"
 msgstr ""
 
@@ -1430,7 +1430,7 @@ msgstr ""
 #: ../resize/virt-resize.pod:781 ../sparsify/virt-sparsify.pod:454
 #: ../sysprep/virt-sysprep.pod:578 ../tools/virt-list-filesystems:195
 #: ../tools/virt-list-partitions:276 ../tools/virt-tar:308
-#: ../tools/virt-win-reg:801 ../v2v/test-harness/virt-v2v-test-harness.pod:186
+#: ../tools/virt-win-reg:801 ../v2v/test-harness/virt-v2v-test-harness.pod:272
 #: ../v2v/virt-v2v.pod:1530
 msgid "Richard W.M. Jones L<http://people.redhat.com/~rjones/>"
 msgstr ""
@@ -1463,7 +1463,7 @@ msgstr ""
 #: ../sysprep/virt-sysprep.pod:582 ../test-tool/libguestfs-test-tool.pod:188
 #: ../tools/virt-list-filesystems:197 ../tools/virt-list-partitions:278
 #: ../tools/virt-tar:310 ../tools/virt-win-reg:803
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:188 ../v2v/virt-v2v.pod:1540
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:274 ../v2v/virt-v2v.pod:1540
 msgid "COPYRIGHT"
 msgstr ""
 
@@ -1813,7 +1813,7 @@ msgstr ""
 #: ../python/examples/guestfs-python.pod:65
 #: ../ruby/examples/guestfs-ruby.pod:48 ../src/guestfs.pod:4847
 #: ../sysprep/virt-sysprep.pod:576 ../test-tool/libguestfs-test-tool.pod:184
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:184 ../v2v/virt-v2v.pod:1528
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:270 ../v2v/virt-v2v.pod:1528
 msgid "AUTHORS"
 msgstr ""
 
@@ -8863,7 +8863,7 @@ msgstr ""
 #: ../daemon/guestfsd.pod:76 ../fish/guestfish.pod:1531
 #: ../fuse/guestmount.pod:404 ../p2v/virt-p2v-make-disk.pod:72
 #: ../p2v/virt-p2v-make-kickstart.pod:162 ../rescue/virt-rescue.pod:393
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:157 ../v2v/virt-v2v.pod:1443
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:242 ../v2v/virt-v2v.pod:1443
 msgid "FILES"
 msgstr ""
 
@@ -92791,8 +92791,8 @@ msgstr ""
 
 #. type: verbatim
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:7
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:112
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:141
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:162
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:191
 #, no-wrap
 msgid ""
 " open V2v_test_harness\n"
@@ -92803,17 +92803,17 @@ msgstr ""
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:9
 #, no-wrap
 msgid ""
-" let test = \"rhel45-i386-fv\"\n"
+" let test = \"rhel_45_i386_fv\"\n"
 " let test_plan = {\n"
 "   default_plan with\n"
-"     boot_plan = Boot_to_screenshot (test ^ \".ppm\")\n"
+"     boot_plan = Boot_to_screenshot (test ^ \"-login.ppm\")\n"
 " }\n"
 " \n"
 msgstr ""
 
 #. type: verbatim
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:15
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:149
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:199
 #, no-wrap
 msgid ""
 " let () = run ~test ~test_plan ()\n"
@@ -92864,67 +92864,155 @@ msgstr ""
 #. type: textblock
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:42
 msgid ""
-"The freely redistributable test cases can be downloaded from: I<B<Download "
-"location TBD>>"
+"The freely redistributable test cases can be downloaded from: L<http://git."
+"annexia.org/?p=virt-v2v-test-cases-free.git> I<B<not available yet>>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:45
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:46
 msgid ""
-"The proprietary test cases are not made available to the public, for obvious "
-"licensing reasons."
+"The proprietary test cases are available at L<http://git.annexia.org/?p=virt-"
+"v2v-test-cases-nonfree.git> This I<does not> contain the proprietary images "
+"themselves, which are not made available to the public for licensing reasons."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:48
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:51
 msgid ""
 "The test cases consist of disk images which are very large, from 250 MB "
 "through to tens of gigabytes I<each>.  This means that distributing test "
-"cases can be very time-consuming and expensive."
+"cases can be very time-consuming and expensive.  We use L<git-annex(1)> to "
+"distribute the test images."
 msgstr ""
 
 #. type: =head2
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:52
-msgid "RUNNING THE TEST CASES"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:56
+msgid "REQUIREMENTS"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:54
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:58
 msgid ""
-"To run the test cases you must install the virt-v2v test harness (the OCaml "
-"module: C<V2v_test_harness>, source in C<libguestfs.git/v2v/test-harness>).  "
-"In Fedora, install the C<virt-v2v-test-harness> package."
+"It's recommended to use an idle machine for testing.  You will need B<a lot "
+"of disk space> to run the tests, in excess of S<100 GB>.  You should also "
+"ensure the test machine has plenty of RAM, at least S<16 GB>."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:63
+msgid "GETTING THE TEST HARNESS"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:59
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:65
+msgid "To run the test cases you must have the virt-v2v test harness."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:67
+msgid "The OCaml module is C<V2v_test_harness>."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:69
+msgid ""
+"The easiest way is to compile libguestfs from source (I<note> do not install "
+"it).  The test harness will be in C<libguestfs/v2v/test-harness>"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:73
+msgid "It is also possible to install test harness as an OCaml module."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:75
+msgid "RUNNING THE TEST CASES"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:77
 msgid ""
 "Once you have checked out the freely redistributed test cases from the "
 "repository, do:"
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:62
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:80
+#, no-wrap
+msgid ""
+" ./configure [--with-test-harness=/path/to/libguestfs/v2v/test-harness]\n"
+" make\n"
+" make check\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:84
+msgid "PARALLEL TESTS"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:86
+msgid "You can run test cases in parallel by doing:"
+msgstr ""
+
+#. type: verbatim
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:88
+#, fuzzy, no-wrap
+#| msgid "C<make check>"
+msgid ""
+" make check -j<N>\n"
+"\n"
+msgstr "C<make check>"
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:90
+msgid ""
+"(eg. C<-j2> for running up to 2 tests in parallel).  Be careful about "
+"running too many parallel tests, as it can slow down each test enough to "
+"cause false failures."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:94
+msgid "RUNNING TEST CASES AGAINST UPSTREAM VIRT-V2V"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:96
+msgid ""
+"Using C<make check> picks up whatever C<virt-v2v> binary is on your C<$PATH>."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:99
+msgid ""
+"If you have compiled libguestfs from source and want to test that version of "
+"virt-v2v, use the libguestfs C<run> script (in the top-level build directory "
+"of the libguestfs sources).  eg:"
+msgstr ""
+
+#. type: verbatim
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:103
 #, fuzzy, no-wrap
 #| msgid ""
 #| " ./localconfigure && make\n"
 #| "\n"
 msgid ""
-" ./configure\n"
-" make\n"
-" make check\n"
+" ../libguestfs/run make check\n"
 "\n"
 msgstr ""
 " ./localconfigure && make\n"
 "\n"
 
 #. type: =head1
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:66
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:105
 msgid "WRITING NEW TEST CASES"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:68
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:107
 msgid ""
 "If you are interested in writing test cases, it is suggested that you start "
 "by downloading the freely redistributable test cases, or at least look at "
@@ -92932,58 +93020,74 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:72
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:111
 msgid ""
-"Also you must install the virt-v2v test harness (the OCaml module: "
-"C<V2v_test_harness>, source in C<libguestfs.git/v2v/test-harness>).  In "
-"Fedora, install the C<virt-v2v-test-harness> package."
+"Also you must have the virt-v2v test harness - see L</GETTING THE TEST "
+"HARNESS> above."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:114
+msgid "FILES IN EACH TEST CASE"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:76
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:116
 msgid "Each test case consists of:"
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:80
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:120
 msgid "I<test>.img.xz"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:82
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:122
 msgid ""
 "The disk image of the virtual machine before conversion.  Usually this "
 "should be converted to raw format and xz-compressed."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:85
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:125
+#, fuzzy
+#| msgid "C<tests>"
+msgid "I<test>.ova"
+msgstr "C<tests>"
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:127
+msgid "Alternatively, an OVA, exported from VMware, may be used."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:129
 #, fuzzy
 #| msgid "C<tests>"
 msgid "I<test>.xml"
 msgstr "C<tests>"
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:87
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:131
 msgid ""
 "The libvirt XML used as input to virt-v2v.  See the discussion of I<-i "
 "libvirtxml> in L<virt-v2v(1)>."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:90
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:134
 #, fuzzy
 #| msgid "C<tests>"
 msgid "I<test>.ppm"
 msgstr "C<tests>"
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:92
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:136
 msgid "An optional screenshot or screenshots."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:94
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:138
 msgid ""
 "You can supply zero or more \"known good\" screenshots which represent "
 "intermediate steps where the guest is booting.  This is useful where a guest "
@@ -92992,41 +93096,53 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:99
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:143
 msgid ""
 "You can supply zero or one \"final\" screenshot.  This is often a screenshot "
 "of the login page which indicates that the guest booted successfully."
 msgstr ""
 
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:147
+msgid ""
+"The screenshots are captured using L<virsh(1)>.  Comparison of screenshots "
+"against the test images is done using the ImageMagick L<compare(1)> program."
+msgstr ""
+
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:103
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:151
 #, fuzzy
 #| msgid "C<tests>"
 msgid "I<test>.ml"
 msgstr "C<tests>"
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:105
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:153
 msgid "The test itself - see below."
 msgstr ""
 
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:157
+msgid "WRITING THE TEST"
+msgstr ""
+
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:109
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:159
 msgid ""
 "The test file (C<*.ml>) is used to control the test harness, and minimally "
 "it would look something like this:"
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:114
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:164
 #, no-wrap
 msgid ""
-" let test = \"short-name\"\n"
+" let test = \"short_name\"\n"
 " \n"
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:116
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:166
 #, no-wrap
 msgid ""
 " let () = run ~test ()\n"
@@ -93034,29 +93150,29 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:118
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:168
 msgid "That would instruct the test harness to:"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:124
-msgid "Uncompress C<I<short-name>.img.xz>"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:174
+msgid "Uncompress C<I<short_name>.img.xz>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:128
-msgid "Run C<virt-v2v -i libvirtxml I<short-name>.xml [...]>"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:178
+msgid "Run C<virt-v2v -i libvirtxml I<short_name>.xml [...]>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:132
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:182
 msgid ""
 "Boot the resulting guest and check that it writes to its disk and then the "
 "disk becomes idle."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:137
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:187
 msgid ""
 "The above is a rather simplistic test.  A more realistic test is to ensure "
 "the guest reaches a final milestone (screenshot), eg. a login page.  To do "
@@ -93064,10 +93180,10 @@ msgid ""
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:143
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:193
 #, no-wrap
 msgid ""
-" let test = \"short-name\"\n"
+" let test = \"short_name\"\n"
 " let test_plan = {\n"
 "   default_plan with\n"
 "     boot_plan = Boot_to_screenshot (test ^ \".ppm\")\n"
@@ -93076,7 +93192,7 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:151
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:201
 msgid ""
 "For an even better test, you can supply post-conversion and post-boot test "
 "cases which examine the disk image (using libguestfs) to verify that files "
@@ -93084,50 +93200,118 @@ msgid ""
 "See C<V2v_test_harness.mli> for more information on how to do that."
 msgstr ""
 
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:207
+msgid "FILES GENERATED BY RUNNING THE TEST"
+msgstr ""
+
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:159
-msgid "Note: To find the value of C<$ocamllibdir>, run:"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:209
+msgid "When you run each test, the following files can be created:"
 msgstr ""
 
-#. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:161
-#, no-wrap
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:213
+msgid "I<test>-I<yyyymmdd-hhmmss>.scrn"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:215
 msgid ""
-" ocamlc -where\n"
-"\n"
+"Screenshot(s) of the guest's graphical console.  These are helpful when "
+"writing tests or debugging test failures."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:218
+msgid "The screenshot format is Portable Pixmap (PPM)."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:220
+#, fuzzy
+#| msgid "C<tests>"
+msgid "I<test>.img"
+msgstr "C<tests>"
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:222
+msgid "The uncompressed original disk image (before conversion)."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:224
+msgid "I<test>-converted-sda"
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:226
+#, fuzzy
+#| msgid "C<tests>"
+msgid "I<test>-converted.xml"
+msgstr "C<tests>"
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:228
+msgid ""
+"The result of conversion, ie. after running virt-v2v but before test-booting "
+"the guest.  See the L<virt-v2v(1)> manual page description of I<-o local>."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:232
+msgid "The disk image format is qcow2."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:234
+msgid "I<test>-booted-sda"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:236
+msgid ""
+"The disk image after test-booting.  This is a qcow2 file which uses the "
+"I<test>-converted-sda file as a backing disk, in order to save disk space."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:165
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:246
 msgid "C<$ocamllibdir/v2v_test_harness/v2v_test_harness.mli>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:167
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:248
 msgid ""
 "The test library interface.  Read this for detailed programming "
 "documentation."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:170
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:251
 msgid "C<$ocamllibdir/v2v_test_harness/META>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:172
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:253
 msgid ""
 "The findlib META file allowing you to use the library from L<ocamlfind(1)>."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:179
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:258
+msgid "NB: To find the value of C<$ocamllibdir>, run C<ocamlc -where>"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:262
 msgid ""
-"L<virt-v2v(1)>, L<virt-p2v(1)>, L<guestfs(3)>, L<http://libguestfs.org/>."
+"L<virt-v2v(1)>, L<virt-p2v(1)>, L<guestfs(3)>, L<virsh(1)>, L<compare(1)>, "
+"L<git-annex(1)>, L<http://libguestfs.org/>."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:190
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:276
 msgid "Copyright (C) 2014-2015 Red Hat Inc."
 msgstr ""
 
@@ -95983,19 +96167,29 @@ msgstr ""
 #~ msgid ""
 #~ " $ annotate-output +'%T.%N' guestfish -a /dev/null run -v\n"
 #~ " 22:17:53.215784625 I: Started guestfish -a /dev/null run -v\n"
-#~ " 22:17:53.240335409 E: libguestfs: [00000ms] supermin-helper --verbose -f checksum '/usr/lib64/guestfs/supermin.d' x86_64\n"
-#~ " 22:17:53.266857866 E: supermin helper [00000ms] whitelist = (not specified), host_cpu = x86_64, kernel = (null), initrd = (null), appliance = (null)\n"
-#~ " 22:17:53.272704072 E: supermin helper [00000ms] inputs[0] = /usr/lib64/guestfs/supermin.d\n"
-#~ " 22:17:53.276528651 E: checking modpath /lib/modules/3.4.0-1.fc17.x86_64.debug is a directory\n"
+#~ " 22:17:53.240335409 E: libguestfs: [00000ms] supermin-helper --verbose -f "
+#~ "checksum '/usr/lib64/guestfs/supermin.d' x86_64\n"
+#~ " 22:17:53.266857866 E: supermin helper [00000ms] whitelist = (not "
+#~ "specified), host_cpu = x86_64, kernel = (null), initrd = (null), "
+#~ "appliance = (null)\n"
+#~ " 22:17:53.272704072 E: supermin helper [00000ms] inputs[0] = /usr/lib64/"
+#~ "guestfs/supermin.d\n"
+#~ " 22:17:53.276528651 E: checking modpath /lib/modules/3.4.0-1.fc17.x86_64."
+#~ "debug is a directory\n"
 #~ " [etc]\n"
 #~ "\n"
 #~ msgstr ""
 #~ " $ annotate-output +'%T.%N' guestfish -a /dev/null run -v\n"
 #~ " 22:17:53.215784625 I: Started guestfish -a /dev/null run -v\n"
-#~ " 22:17:53.240335409 E: libguestfs: [00000ms] supermin-helper --verbose -f checksum '/usr/lib64/guestfs/supermin.d' x86_64\n"
-#~ " 22:17:53.266857866 E: supermin helper [00000ms] whitelist = (not specified), host_cpu = x86_64, kernel = (null), initrd = (null), appliance = (null)\n"
-#~ " 22:17:53.272704072 E: supermin helper [00000ms] inputs[0] = /usr/lib64/guestfs/supermin.d\n"
-#~ " 22:17:53.276528651 E: checking modpath /lib/modules/3.4.0-1.fc17.x86_64.debug is a directory\n"
+#~ " 22:17:53.240335409 E: libguestfs: [00000ms] supermin-helper --verbose -f "
+#~ "checksum '/usr/lib64/guestfs/supermin.d' x86_64\n"
+#~ " 22:17:53.266857866 E: supermin helper [00000ms] whitelist = (not "
+#~ "specified), host_cpu = x86_64, kernel = (null), initrd = (null), "
+#~ "appliance = (null)\n"
+#~ " 22:17:53.272704072 E: supermin helper [00000ms] inputs[0] = /usr/lib64/"
+#~ "guestfs/supermin.d\n"
+#~ " 22:17:53.276528651 E: checking modpath /lib/modules/3.4.0-1.fc17.x86_64."
+#~ "debug is a directory\n"
 #~ " [etc]\n"
 #~ "\n"
 
diff --git a/po-docs/ja.po b/po-docs/ja.po
index 25397fa..fb6471a 100644
--- a/po-docs/ja.po
+++ b/po-docs/ja.po
@@ -12,7 +12,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: libguestfs 1.29.26\n"
 "Report-Msgid-Bugs-To: libguestfs at redhat.com\n"
-"POT-Creation-Date: 2015-04-01 10:05+0100\n"
+"POT-Creation-Date: 2015-04-10 13:46+0100\n"
 "PO-Revision-Date: 2014-10-18 04:01-0400\n"
 "Last-Translator: rjones <rjones at redhat.com>\n"
 "Language-Team: Japanese (http://www.transifex.com/projects/p/libguestfs/"
@@ -1406,9 +1406,9 @@ msgstr "このプログラムは以下を返します:"
 #: ../sysprep/virt-sysprep.pod:414 ../tools/virt-win-reg:194
 #: ../tools/virt-win-reg:199 ../tools/virt-win-reg:205
 #: ../tools/virt-win-reg:754 ../tools/virt-win-reg:760
-#: ../tools/virt-win-reg:766 ../v2v/test-harness/virt-v2v-test-harness.pod:122
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:126
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:130 ../v2v/virt-v2v.pod:598
+#: ../tools/virt-win-reg:766 ../v2v/test-harness/virt-v2v-test-harness.pod:172
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:176
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:180 ../v2v/virt-v2v.pod:598
 #: ../v2v/virt-v2v.pod:603 ../v2v/virt-v2v.pod:608 ../v2v/virt-v2v.pod:612
 #: ../v2v/virt-v2v.pod:756 ../v2v/virt-v2v.pod:761 ../v2v/virt-v2v.pod:772
 #: ../v2v/virt-v2v.pod:784 ../v2v/virt-v2v.pod:790 ../v2v/virt-v2v.pod:795
@@ -1499,7 +1499,7 @@ msgstr ""
 #: ../sysprep/virt-sysprep.pod:559 ../test-tool/libguestfs-test-tool.pod:178
 #: ../tools/virt-list-filesystems:181 ../tools/virt-list-partitions:263
 #: ../tools/virt-tar:292 ../tools/virt-win-reg:785
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:177 ../v2v/virt-v2v.pod:1513
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:260 ../v2v/virt-v2v.pod:1513
 msgid "SEE ALSO"
 msgstr "関連項目"
 
@@ -1539,7 +1539,7 @@ msgstr "著者"
 #: ../resize/virt-resize.pod:781 ../sparsify/virt-sparsify.pod:454
 #: ../sysprep/virt-sysprep.pod:578 ../tools/virt-list-filesystems:195
 #: ../tools/virt-list-partitions:276 ../tools/virt-tar:308
-#: ../tools/virt-win-reg:801 ../v2v/test-harness/virt-v2v-test-harness.pod:186
+#: ../tools/virt-win-reg:801 ../v2v/test-harness/virt-v2v-test-harness.pod:272
 #: ../v2v/virt-v2v.pod:1530
 msgid "Richard W.M. Jones L<http://people.redhat.com/~rjones/>"
 msgstr "Richard W.M. Jones L<http://people.redhat.com/~rjones/>"
@@ -1572,7 +1572,7 @@ msgstr "Richard W.M. Jones L<http://people.redhat.com/~rjones/>"
 #: ../sysprep/virt-sysprep.pod:582 ../test-tool/libguestfs-test-tool.pod:188
 #: ../tools/virt-list-filesystems:197 ../tools/virt-list-partitions:278
 #: ../tools/virt-tar:310 ../tools/virt-win-reg:803
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:188 ../v2v/virt-v2v.pod:1540
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:274 ../v2v/virt-v2v.pod:1540
 msgid "COPYRIGHT"
 msgstr "COPYRIGHT"
 
@@ -1941,7 +1941,7 @@ msgstr ""
 #: ../python/examples/guestfs-python.pod:65
 #: ../ruby/examples/guestfs-ruby.pod:48 ../src/guestfs.pod:4847
 #: ../sysprep/virt-sysprep.pod:576 ../test-tool/libguestfs-test-tool.pod:184
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:184 ../v2v/virt-v2v.pod:1528
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:270 ../v2v/virt-v2v.pod:1528
 msgid "AUTHORS"
 msgstr "著者"
 
@@ -9057,7 +9057,7 @@ msgstr ""
 #: ../daemon/guestfsd.pod:76 ../fish/guestfish.pod:1531
 #: ../fuse/guestmount.pod:404 ../p2v/virt-p2v-make-disk.pod:72
 #: ../p2v/virt-p2v-make-kickstart.pod:162 ../rescue/virt-rescue.pod:393
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:157 ../v2v/virt-v2v.pod:1443
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:242 ../v2v/virt-v2v.pod:1443
 msgid "FILES"
 msgstr "ファイル"
 
@@ -92544,8 +92544,8 @@ msgstr ""
 
 #. type: verbatim
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:7
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:112
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:141
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:162
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:191
 #, no-wrap
 msgid ""
 " open V2v_test_harness\n"
@@ -92556,17 +92556,17 @@ msgstr ""
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:9
 #, no-wrap
 msgid ""
-" let test = \"rhel45-i386-fv\"\n"
+" let test = \"rhel_45_i386_fv\"\n"
 " let test_plan = {\n"
 "   default_plan with\n"
-"     boot_plan = Boot_to_screenshot (test ^ \".ppm\")\n"
+"     boot_plan = Boot_to_screenshot (test ^ \"-login.ppm\")\n"
 " }\n"
 " \n"
 msgstr ""
 
 #. type: verbatim
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:15
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:149
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:199
 #, no-wrap
 msgid ""
 " let () = run ~test ~test_plan ()\n"
@@ -92617,67 +92617,155 @@ msgstr ""
 #. type: textblock
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:42
 msgid ""
-"The freely redistributable test cases can be downloaded from: I<B<Download "
-"location TBD>>"
+"The freely redistributable test cases can be downloaded from: L<http://git."
+"annexia.org/?p=virt-v2v-test-cases-free.git> I<B<not available yet>>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:45
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:46
 msgid ""
-"The proprietary test cases are not made available to the public, for obvious "
-"licensing reasons."
+"The proprietary test cases are available at L<http://git.annexia.org/?p=virt-"
+"v2v-test-cases-nonfree.git> This I<does not> contain the proprietary images "
+"themselves, which are not made available to the public for licensing reasons."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:48
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:51
 msgid ""
 "The test cases consist of disk images which are very large, from 250 MB "
 "through to tens of gigabytes I<each>.  This means that distributing test "
-"cases can be very time-consuming and expensive."
+"cases can be very time-consuming and expensive.  We use L<git-annex(1)> to "
+"distribute the test images."
 msgstr ""
 
 #. type: =head2
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:52
-msgid "RUNNING THE TEST CASES"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:56
+msgid "REQUIREMENTS"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:54
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:58
 msgid ""
-"To run the test cases you must install the virt-v2v test harness (the OCaml "
-"module: C<V2v_test_harness>, source in C<libguestfs.git/v2v/test-harness>).  "
-"In Fedora, install the C<virt-v2v-test-harness> package."
+"It's recommended to use an idle machine for testing.  You will need B<a lot "
+"of disk space> to run the tests, in excess of S<100 GB>.  You should also "
+"ensure the test machine has plenty of RAM, at least S<16 GB>."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:63
+msgid "GETTING THE TEST HARNESS"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:59
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:65
+msgid "To run the test cases you must have the virt-v2v test harness."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:67
+msgid "The OCaml module is C<V2v_test_harness>."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:69
+msgid ""
+"The easiest way is to compile libguestfs from source (I<note> do not install "
+"it).  The test harness will be in C<libguestfs/v2v/test-harness>"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:73
+msgid "It is also possible to install test harness as an OCaml module."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:75
+msgid "RUNNING THE TEST CASES"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:77
 msgid ""
 "Once you have checked out the freely redistributed test cases from the "
 "repository, do:"
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:62
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:80
+#, no-wrap
+msgid ""
+" ./configure [--with-test-harness=/path/to/libguestfs/v2v/test-harness]\n"
+" make\n"
+" make check\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:84
+msgid "PARALLEL TESTS"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:86
+msgid "You can run test cases in parallel by doing:"
+msgstr ""
+
+#. type: verbatim
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:88
+#, fuzzy, no-wrap
+#| msgid "C<make check>"
+msgid ""
+" make check -j<N>\n"
+"\n"
+msgstr "C<make check>"
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:90
+msgid ""
+"(eg. C<-j2> for running up to 2 tests in parallel).  Be careful about "
+"running too many parallel tests, as it can slow down each test enough to "
+"cause false failures."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:94
+msgid "RUNNING TEST CASES AGAINST UPSTREAM VIRT-V2V"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:96
+msgid ""
+"Using C<make check> picks up whatever C<virt-v2v> binary is on your C<$PATH>."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:99
+msgid ""
+"If you have compiled libguestfs from source and want to test that version of "
+"virt-v2v, use the libguestfs C<run> script (in the top-level build directory "
+"of the libguestfs sources).  eg:"
+msgstr ""
+
+#. type: verbatim
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:103
 #, fuzzy, no-wrap
 #| msgid ""
 #| " ./localconfigure && make\n"
 #| "\n"
 msgid ""
-" ./configure\n"
-" make\n"
-" make check\n"
+" ../libguestfs/run make check\n"
 "\n"
 msgstr ""
 " ./localconfigure && make\n"
 "\n"
 
 #. type: =head1
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:66
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:105
 msgid "WRITING NEW TEST CASES"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:68
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:107
 msgid ""
 "If you are interested in writing test cases, it is suggested that you start "
 "by downloading the freely redistributable test cases, or at least look at "
@@ -92685,60 +92773,76 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:72
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:111
 msgid ""
-"Also you must install the virt-v2v test harness (the OCaml module: "
-"C<V2v_test_harness>, source in C<libguestfs.git/v2v/test-harness>).  In "
-"Fedora, install the C<virt-v2v-test-harness> package."
+"Also you must have the virt-v2v test harness - see L</GETTING THE TEST "
+"HARNESS> above."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:114
+msgid "FILES IN EACH TEST CASE"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:76
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:116
 msgid "Each test case consists of:"
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:80
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:120
 #, fuzzy
 #| msgid "test1.img"
 msgid "I<test>.img.xz"
 msgstr "test1.img"
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:82
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:122
 msgid ""
 "The disk image of the virtual machine before conversion.  Usually this "
 "should be converted to raw format and xz-compressed."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:85
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:125
+#, fuzzy
+#| msgid "C<tests>"
+msgid "I<test>.ova"
+msgstr "C<tests>"
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:127
+msgid "Alternatively, an OVA, exported from VMware, may be used."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:129
 #, fuzzy
 #| msgid "C<tests>"
 msgid "I<test>.xml"
 msgstr "C<tests>"
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:87
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:131
 msgid ""
 "The libvirt XML used as input to virt-v2v.  See the discussion of I<-i "
 "libvirtxml> in L<virt-v2v(1)>."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:90
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:134
 #, fuzzy
 #| msgid "C<tests>"
 msgid "I<test>.ppm"
 msgstr "C<tests>"
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:92
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:136
 msgid "An optional screenshot or screenshots."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:94
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:138
 msgid ""
 "You can supply zero or more \"known good\" screenshots which represent "
 "intermediate steps where the guest is booting.  This is useful where a guest "
@@ -92747,41 +92851,53 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:99
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:143
 msgid ""
 "You can supply zero or one \"final\" screenshot.  This is often a screenshot "
 "of the login page which indicates that the guest booted successfully."
 msgstr ""
 
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:147
+msgid ""
+"The screenshots are captured using L<virsh(1)>.  Comparison of screenshots "
+"against the test images is done using the ImageMagick L<compare(1)> program."
+msgstr ""
+
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:103
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:151
 #, fuzzy
 #| msgid "C<tests>"
 msgid "I<test>.ml"
 msgstr "C<tests>"
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:105
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:153
 msgid "The test itself - see below."
 msgstr ""
 
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:157
+msgid "WRITING THE TEST"
+msgstr ""
+
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:109
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:159
 msgid ""
 "The test file (C<*.ml>) is used to control the test harness, and minimally "
 "it would look something like this:"
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:114
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:164
 #, no-wrap
 msgid ""
-" let test = \"short-name\"\n"
+" let test = \"short_name\"\n"
 " \n"
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:116
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:166
 #, no-wrap
 msgid ""
 " let () = run ~test ()\n"
@@ -92789,29 +92905,29 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:118
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:168
 msgid "That would instruct the test harness to:"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:124
-msgid "Uncompress C<I<short-name>.img.xz>"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:174
+msgid "Uncompress C<I<short_name>.img.xz>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:128
-msgid "Run C<virt-v2v -i libvirtxml I<short-name>.xml [...]>"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:178
+msgid "Run C<virt-v2v -i libvirtxml I<short_name>.xml [...]>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:132
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:182
 msgid ""
 "Boot the resulting guest and check that it writes to its disk and then the "
 "disk becomes idle."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:137
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:187
 msgid ""
 "The above is a rather simplistic test.  A more realistic test is to ensure "
 "the guest reaches a final milestone (screenshot), eg. a login page.  To do "
@@ -92819,10 +92935,10 @@ msgid ""
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:143
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:193
 #, no-wrap
 msgid ""
-" let test = \"short-name\"\n"
+" let test = \"short_name\"\n"
 " let test_plan = {\n"
 "   default_plan with\n"
 "     boot_plan = Boot_to_screenshot (test ^ \".ppm\")\n"
@@ -92831,7 +92947,7 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:151
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:201
 msgid ""
 "For an even better test, you can supply post-conversion and post-boot test "
 "cases which examine the disk image (using libguestfs) to verify that files "
@@ -92839,52 +92955,124 @@ msgid ""
 "See C<V2v_test_harness.mli> for more information on how to do that."
 msgstr ""
 
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:207
+msgid "FILES GENERATED BY RUNNING THE TEST"
+msgstr ""
+
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:159
-msgid "Note: To find the value of C<$ocamllibdir>, run:"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:209
+#, fuzzy
+#| msgid "On Linux the following files are removed:"
+msgid "When you run each test, the following files can be created:"
+msgstr "Linux においては以下のファイルが削除されます:"
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:213
+msgid "I<test>-I<yyyymmdd-hhmmss>.scrn"
 msgstr ""
 
-#. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:161
-#, no-wrap
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:215
 msgid ""
-" ocamlc -where\n"
-"\n"
+"Screenshot(s) of the guest's graphical console.  These are helpful when "
+"writing tests or debugging test failures."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:218
+msgid "The screenshot format is Portable Pixmap (PPM)."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:220
+#, fuzzy
+#| msgid "test1.img"
+msgid "I<test>.img"
+msgstr "test1.img"
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:222
+msgid "The uncompressed original disk image (before conversion)."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:224
+msgid "I<test>-converted-sda"
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:226
+#, fuzzy
+#| msgid "C<tests>"
+msgid "I<test>-converted.xml"
+msgstr "C<tests>"
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:228
+msgid ""
+"The result of conversion, ie. after running virt-v2v but before test-booting "
+"the guest.  See the L<virt-v2v(1)> manual page description of I<-o local>."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:232
+#, fuzzy
+#| msgid "Choose the output disk image format."
+msgid "The disk image format is qcow2."
+msgstr "出力するディスクイメージ形式を選択します。"
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:234
+msgid "I<test>-booted-sda"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:236
+msgid ""
+"The disk image after test-booting.  This is a qcow2 file which uses the "
+"I<test>-converted-sda file as a backing disk, in order to save disk space."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:165
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:246
 msgid "C<$ocamllibdir/v2v_test_harness/v2v_test_harness.mli>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:167
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:248
 msgid ""
 "The test library interface.  Read this for detailed programming "
 "documentation."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:170
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:251
 msgid "C<$ocamllibdir/v2v_test_harness/META>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:172
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:253
 msgid ""
 "The findlib META file allowing you to use the library from L<ocamlfind(1)>."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:179
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:258
+msgid "NB: To find the value of C<$ocamllibdir>, run C<ocamlc -where>"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:262
 #, fuzzy
 #| msgid "L<guestfish(1)>, L<guestfs(3)>, L<http://libguestfs.org/>."
 msgid ""
-"L<virt-v2v(1)>, L<virt-p2v(1)>, L<guestfs(3)>, L<http://libguestfs.org/>."
+"L<virt-v2v(1)>, L<virt-p2v(1)>, L<guestfs(3)>, L<virsh(1)>, L<compare(1)>, "
+"L<git-annex(1)>, L<http://libguestfs.org/>."
 msgstr "L<guestfish(1)>, L<guestfs(3)>, L<http://libguestfs.org/>."
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:190
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:276
 #, fuzzy
 msgid "Copyright (C) 2014-2015 Red Hat Inc."
 msgstr "Copyright (C) 2010-2012 Red Hat Inc."
diff --git a/po-docs/libguestfs-docs.pot b/po-docs/libguestfs-docs.pot
index 6c4cb35..f7fc125 100644
--- a/po-docs/libguestfs-docs.pot
+++ b/po-docs/libguestfs-docs.pot
@@ -6,9 +6,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: libguestfs 1.29.33\n"
+"Project-Id-Version: libguestfs 1.29.34\n"
 "Report-Msgid-Bugs-To: libguestfs at redhat.com\n"
-"POT-Creation-Date: 2015-04-01 10:05+0100\n"
+"POT-Creation-Date: 2015-04-10 13:46+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -774,7 +774,7 @@ msgid "This program returns:"
 msgstr ""
 
 #. type: =item
-#: ../align/virt-alignment-scan.pod:356 ../align/virt-alignment-scan.pod:362 ../align/virt-alignment-scan.pod:368 ../align/virt-alignment-scan.pod:375 ../appliance/libguestfs-make-fixed-appliance.pod:22 ../appliance/libguestfs-make-fixed-appliance.pod:28 ../appliance/libguestfs-make-fixed-appliance.pod:34 ../appliance/libguestfs-make-fixed-appliance.pod:52 ../appliance/libguestfs-make-fixed-appliance.pod:73 ../builder/virt-builder.pod:814 ../builder/virt-builder.pod:821 ../builder/virt-b [...]
+#: ../align/virt-alignment-scan.pod:356 ../align/virt-alignment-scan.pod:362 ../align/virt-alignment-scan.pod:368 ../align/virt-alignment-scan.pod:375 ../appliance/libguestfs-make-fixed-appliance.pod:22 ../appliance/libguestfs-make-fixed-appliance.pod:28 ../appliance/libguestfs-make-fixed-appliance.pod:34 ../appliance/libguestfs-make-fixed-appliance.pod:52 ../appliance/libguestfs-make-fixed-appliance.pod:73 ../builder/virt-builder.pod:814 ../builder/virt-builder.pod:821 ../builder/virt-b [...]
 msgid "*"
 msgstr ""
 
@@ -823,7 +823,7 @@ msgid ""
 msgstr ""
 
 #. type: =head1
-#: ../align/virt-alignment-scan.pod:384 ../appliance/libguestfs-make-fixed-appliance.pod:164 ../builder/virt-builder.pod:1728 ../builder/virt-index-validate.pod:79 ../cat/virt-cat.pod:273 ../cat/virt-filesystems.pod:386 ../cat/virt-log.pod:135 ../cat/virt-ls.pod:518 ../customize/virt-customize.pod:254 ../daemon/guestfsd.pod:115 ../df/virt-df.pod:256 ../diff/virt-diff.pod:248 ../edit/virt-edit.pod:389 ../erlang/examples/guestfs-erlang.pod:95 ../examples/guestfs-examples.pod:55 ../examples [...]
+#: ../align/virt-alignment-scan.pod:384 ../appliance/libguestfs-make-fixed-appliance.pod:164 ../builder/virt-builder.pod:1728 ../builder/virt-index-validate.pod:79 ../cat/virt-cat.pod:273 ../cat/virt-filesystems.pod:386 ../cat/virt-log.pod:135 ../cat/virt-ls.pod:518 ../customize/virt-customize.pod:254 ../daemon/guestfsd.pod:115 ../df/virt-df.pod:256 ../diff/virt-diff.pod:248 ../edit/virt-edit.pod:389 ../erlang/examples/guestfs-erlang.pod:95 ../examples/guestfs-examples.pod:55 ../examples [...]
 msgid "SEE ALSO"
 msgstr ""
 
@@ -840,12 +840,12 @@ msgid "AUTHOR"
 msgstr ""
 
 #. type: textblock
-#: ../align/virt-alignment-scan.pod:395 ../builder/virt-builder.pod:1749 ../builder/virt-index-validate.pod:86 ../cat/virt-cat.pod:285 ../cat/virt-filesystems.pod:399 ../cat/virt-log.pod:147 ../cat/virt-ls.pod:530 ../customize/virt-customize.pod:273 ../daemon/guestfsd.pod:122 ../df/virt-df.pod:266 ../diff/virt-diff.pod:260 ../edit/virt-edit.pod:402 ../format/virt-format.pod:197 ../inspector/virt-inspector.pod:513 ../make-fs/virt-make-fs.pod:231 ../p2v/virt-p2v-make-disk.pod:112 ../p2v/vi [...]
+#: ../align/virt-alignment-scan.pod:395 ../builder/virt-builder.pod:1749 ../builder/virt-index-validate.pod:86 ../cat/virt-cat.pod:285 ../cat/virt-filesystems.pod:399 ../cat/virt-log.pod:147 ../cat/virt-ls.pod:530 ../customize/virt-customize.pod:273 ../daemon/guestfsd.pod:122 ../df/virt-df.pod:266 ../diff/virt-diff.pod:260 ../edit/virt-edit.pod:402 ../format/virt-format.pod:197 ../inspector/virt-inspector.pod:513 ../make-fs/virt-make-fs.pod:231 ../p2v/virt-p2v-make-disk.pod:112 ../p2v/vi [...]
 msgid "Richard W.M. Jones L<http://people.redhat.com/~rjones/>"
 msgstr ""
 
 #. type: =head1
-#: ../align/virt-alignment-scan.pod:397 ../appliance/libguestfs-make-fixed-appliance.pod:176 ../builder/virt-builder.pod:1751 ../builder/virt-index-validate.pod:88 ../cat/virt-cat.pod:287 ../cat/virt-filesystems.pod:401 ../cat/virt-log.pod:149 ../cat/virt-ls.pod:532 ../customize/virt-customize.pod:275 ../daemon/guestfsd.pod:124 ../df/virt-df.pod:268 ../diff/virt-diff.pod:262 ../edit/virt-edit.pod:404 ../erlang/examples/guestfs-erlang.pod:114 ../examples/guestfs-examples.pod:73 ../example [...]
+#: ../align/virt-alignment-scan.pod:397 ../appliance/libguestfs-make-fixed-appliance.pod:176 ../builder/virt-builder.pod:1751 ../builder/virt-index-validate.pod:88 ../cat/virt-cat.pod:287 ../cat/virt-filesystems.pod:401 ../cat/virt-log.pod:149 ../cat/virt-ls.pod:532 ../customize/virt-customize.pod:275 ../daemon/guestfsd.pod:124 ../df/virt-df.pod:268 ../diff/virt-diff.pod:262 ../edit/virt-edit.pod:404 ../erlang/examples/guestfs-erlang.pod:114 ../examples/guestfs-examples.pod:73 ../example [...]
 msgid "COPYRIGHT"
 msgstr ""
 
@@ -1148,7 +1148,7 @@ msgid ""
 msgstr ""
 
 #. type: =head1
-#: ../appliance/libguestfs-make-fixed-appliance.pod:172 ../customize/virt-customize.pod:271 ../erlang/examples/guestfs-erlang.pod:110 ../examples/guestfs-examples.pod:69 ../examples/guestfs-faq.pod:1268 ../examples/guestfs-performance.pod:573 ../examples/guestfs-recipes.pod:683 ../examples/guestfs-testing.pod:391 ../fish/guestfish.pod:1630 ../fish/libguestfs-tools.conf.pod:96 ../fish/virt-copy-in.pod:58 ../fish/virt-copy-out.pod:47 ../fish/virt-tar-in.pod:56 ../fish/virt-tar-out.pod:49 . [...]
+#: ../appliance/libguestfs-make-fixed-appliance.pod:172 ../customize/virt-customize.pod:271 ../erlang/examples/guestfs-erlang.pod:110 ../examples/guestfs-examples.pod:69 ../examples/guestfs-faq.pod:1268 ../examples/guestfs-performance.pod:573 ../examples/guestfs-recipes.pod:683 ../examples/guestfs-testing.pod:391 ../fish/guestfish.pod:1630 ../fish/libguestfs-tools.conf.pod:96 ../fish/virt-copy-in.pod:58 ../fish/virt-copy-out.pod:47 ../fish/virt-tar-in.pod:56 ../fish/virt-tar-out.pod:49 . [...]
 msgid "AUTHORS"
 msgstr ""
 
@@ -7693,7 +7693,7 @@ msgid ""
 msgstr ""
 
 #. type: =head1
-#: ../daemon/guestfsd.pod:76 ../fish/guestfish.pod:1531 ../fuse/guestmount.pod:404 ../p2v/virt-p2v-make-disk.pod:72 ../p2v/virt-p2v-make-kickstart.pod:162 ../rescue/virt-rescue.pod:393 ../v2v/test-harness/virt-v2v-test-harness.pod:157 ../v2v/virt-v2v.pod:1443
+#: ../daemon/guestfsd.pod:76 ../fish/guestfish.pod:1531 ../fuse/guestmount.pod:404 ../p2v/virt-p2v-make-disk.pod:72 ../p2v/virt-p2v-make-kickstart.pod:162 ../rescue/virt-rescue.pod:393 ../v2v/test-harness/virt-v2v-test-harness.pod:242 ../v2v/virt-v2v.pod:1443
 msgid "FILES"
 msgstr ""
 
@@ -82760,7 +82760,7 @@ msgid "virt-v2v-test-harness - Used to test virt-v2v against real test cases"
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:7 ../v2v/test-harness/virt-v2v-test-harness.pod:112 ../v2v/test-harness/virt-v2v-test-harness.pod:141
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:7 ../v2v/test-harness/virt-v2v-test-harness.pod:162 ../v2v/test-harness/virt-v2v-test-harness.pod:191
 #, no-wrap
 msgid ""
 " open V2v_test_harness\n"
@@ -82771,16 +82771,16 @@ msgstr ""
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:9
 #, no-wrap
 msgid ""
-" let test = \"rhel45-i386-fv\"\n"
+" let test = \"rhel_45_i386_fv\"\n"
 " let test_plan = {\n"
 "   default_plan with\n"
-"     boot_plan = Boot_to_screenshot (test ^ \".ppm\")\n"
+"     boot_plan = Boot_to_screenshot (test ^ \"-login.ppm\")\n"
 " }\n"
 " \n"
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:15 ../v2v/test-harness/virt-v2v-test-harness.pod:149
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:15 ../v2v/test-harness/virt-v2v-test-harness.pod:199
 #, no-wrap
 msgid ""
 " let () = run ~test ~test_plan ()\n"
@@ -82831,62 +82831,152 @@ msgstr ""
 #. type: textblock
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:42
 msgid ""
-"The freely redistributable test cases can be downloaded from: I<B<Download "
-"location TBD>>"
+"The freely redistributable test cases can be downloaded from: "
+"L<http://git.annexia.org/?p=virt-v2v-test-cases-free.git> I<B<not available "
+"yet>>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:45
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:46
 msgid ""
-"The proprietary test cases are not made available to the public, for obvious "
-"licensing reasons."
+"The proprietary test cases are available at "
+"L<http://git.annexia.org/?p=virt-v2v-test-cases-nonfree.git> This I<does "
+"not> contain the proprietary images themselves, which are not made available "
+"to the public for licensing reasons."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:48
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:51
 msgid ""
 "The test cases consist of disk images which are very large, from 250 MB "
 "through to tens of gigabytes I<each>.  This means that distributing test "
-"cases can be very time-consuming and expensive."
+"cases can be very time-consuming and expensive.  We use L<git-annex(1)> to "
+"distribute the test images."
 msgstr ""
 
 #. type: =head2
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:52
-msgid "RUNNING THE TEST CASES"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:56
+msgid "REQUIREMENTS"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:54
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:58
 msgid ""
-"To run the test cases you must install the virt-v2v test harness (the OCaml "
-"module: C<V2v_test_harness>, source in C<libguestfs.git/v2v/test-harness>).  "
-"In Fedora, install the C<virt-v2v-test-harness> package."
+"It's recommended to use an idle machine for testing.  You will need B<a lot "
+"of disk space> to run the tests, in excess of S<100 GB>.  You should also "
+"ensure the test machine has plenty of RAM, at least S<16 GB>."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:63
+msgid "GETTING THE TEST HARNESS"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:65
+msgid "To run the test cases you must have the virt-v2v test harness."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:67
+msgid "The OCaml module is C<V2v_test_harness>."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:69
+msgid ""
+"The easiest way is to compile libguestfs from source (I<note> do not install "
+"it).  The test harness will be in C<libguestfs/v2v/test-harness>"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:73
+msgid "It is also possible to install test harness as an OCaml module."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:75
+msgid "RUNNING THE TEST CASES"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:59
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:77
 msgid ""
 "Once you have checked out the freely redistributed test cases from the "
 "repository, do:"
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:62
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:80
 #, no-wrap
 msgid ""
-" ./configure\n"
+" ./configure [--with-test-harness=/path/to/libguestfs/v2v/test-harness]\n"
 " make\n"
 " make check\n"
 "\n"
 msgstr ""
 
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:84
+msgid "PARALLEL TESTS"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:86
+msgid "You can run test cases in parallel by doing:"
+msgstr ""
+
+#. type: verbatim
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:88
+#, no-wrap
+msgid ""
+" make check -j<N>\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:90
+msgid ""
+"(eg. C<-j2> for running up to 2 tests in parallel).  Be careful about "
+"running too many parallel tests, as it can slow down each test enough to "
+"cause false failures."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:94
+msgid "RUNNING TEST CASES AGAINST UPSTREAM VIRT-V2V"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:96
+msgid ""
+"Using C<make check> picks up whatever C<virt-v2v> binary is on your "
+"C<$PATH>."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:99
+msgid ""
+"If you have compiled libguestfs from source and want to test that version of "
+"virt-v2v, use the libguestfs C<run> script (in the top-level build directory "
+"of the libguestfs sources).  eg:"
+msgstr ""
+
+#. type: verbatim
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:103
+#, no-wrap
+msgid ""
+" ../libguestfs/run make check\n"
+"\n"
+msgstr ""
+
 #. type: =head1
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:66
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:105
 msgid "WRITING NEW TEST CASES"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:68
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:107
 msgid ""
 "If you are interested in writing test cases, it is suggested that you start "
 "by downloading the freely redistributable test cases, or at least look at "
@@ -82894,54 +82984,68 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:72
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:111
 msgid ""
-"Also you must install the virt-v2v test harness (the OCaml module: "
-"C<V2v_test_harness>, source in C<libguestfs.git/v2v/test-harness>).  In "
-"Fedora, install the C<virt-v2v-test-harness> package."
+"Also you must have the virt-v2v test harness - see L</GETTING THE TEST "
+"HARNESS> above."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:114
+msgid "FILES IN EACH TEST CASE"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:76
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:116
 msgid "Each test case consists of:"
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:80
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:120
 msgid "I<test>.img.xz"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:82
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:122
 msgid ""
 "The disk image of the virtual machine before conversion.  Usually this "
 "should be converted to raw format and xz-compressed."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:85
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:125
+msgid "I<test>.ova"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:127
+msgid "Alternatively, an OVA, exported from VMware, may be used."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:129
 msgid "I<test>.xml"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:87
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:131
 msgid ""
 "The libvirt XML used as input to virt-v2v.  See the discussion of I<-i "
 "libvirtxml> in L<virt-v2v(1)>."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:90
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:134
 msgid "I<test>.ppm"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:92
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:136
 msgid "An optional screenshot or screenshots."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:94
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:138
 msgid ""
 "You can supply zero or more \"known good\" screenshots which represent "
 "intermediate steps where the guest is booting.  This is useful where a guest "
@@ -82950,39 +83054,51 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:99
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:143
 msgid ""
 "You can supply zero or one \"final\" screenshot.  This is often a screenshot "
 "of the login page which indicates that the guest booted successfully."
 msgstr ""
 
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:147
+msgid ""
+"The screenshots are captured using L<virsh(1)>.  Comparison of screenshots "
+"against the test images is done using the ImageMagick L<compare(1)> program."
+msgstr ""
+
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:103
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:151
 msgid "I<test>.ml"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:105
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:153
 msgid "The test itself - see below."
 msgstr ""
 
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:157
+msgid "WRITING THE TEST"
+msgstr ""
+
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:109
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:159
 msgid ""
 "The test file (C<*.ml>) is used to control the test harness, and minimally "
 "it would look something like this:"
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:114
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:164
 #, no-wrap
 msgid ""
-" let test = \"short-name\"\n"
+" let test = \"short_name\"\n"
 " \n"
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:116
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:166
 #, no-wrap
 msgid ""
 " let () = run ~test ()\n"
@@ -82990,29 +83106,29 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:118
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:168
 msgid "That would instruct the test harness to:"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:124
-msgid "Uncompress C<I<short-name>.img.xz>"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:174
+msgid "Uncompress C<I<short_name>.img.xz>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:128
-msgid "Run C<virt-v2v -i libvirtxml I<short-name>.xml [...]>"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:178
+msgid "Run C<virt-v2v -i libvirtxml I<short_name>.xml [...]>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:132
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:182
 msgid ""
 "Boot the resulting guest and check that it writes to its disk and then the "
 "disk becomes idle."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:137
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:187
 msgid ""
 "The above is a rather simplistic test.  A more realistic test is to ensure "
 "the guest reaches a final milestone (screenshot), eg. a login page.  To do "
@@ -83020,10 +83136,10 @@ msgid ""
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:143
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:193
 #, no-wrap
 msgid ""
-" let test = \"short-name\"\n"
+" let test = \"short_name\"\n"
 " let test_plan = {\n"
 "   default_plan with\n"
 "     boot_plan = Boot_to_screenshot (test ^ \".ppm\")\n"
@@ -83032,7 +83148,7 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:151
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:201
 msgid ""
 "For an even better test, you can supply post-conversion and post-boot test "
 "cases which examine the disk image (using libguestfs) to verify that files "
@@ -83040,48 +83156,113 @@ msgid ""
 "See C<V2v_test_harness.mli> for more information on how to do that."
 msgstr ""
 
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:207
+msgid "FILES GENERATED BY RUNNING THE TEST"
+msgstr ""
+
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:159
-msgid "Note: To find the value of C<$ocamllibdir>, run:"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:209
+msgid "When you run each test, the following files can be created:"
 msgstr ""
 
-#. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:161
-#, no-wrap
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:213
+msgid "I<test>-I<yyyymmdd-hhmmss>.scrn"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:215
 msgid ""
-" ocamlc -where\n"
-"\n"
+"Screenshot(s) of the guest's graphical console.  These are helpful when "
+"writing tests or debugging test failures."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:218
+msgid "The screenshot format is Portable Pixmap (PPM)."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:220
+msgid "I<test>.img"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:222
+msgid "The uncompressed original disk image (before conversion)."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:224
+msgid "I<test>-converted-sda"
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:226
+msgid "I<test>-converted.xml"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:228
+msgid ""
+"The result of conversion, ie. after running virt-v2v but before test-booting "
+"the guest.  See the L<virt-v2v(1)> manual page description of I<-o local>."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:232
+msgid "The disk image format is qcow2."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:165
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:234
+msgid "I<test>-booted-sda"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:236
+msgid ""
+"The disk image after test-booting.  This is a qcow2 file which uses the "
+"I<test>-converted-sda file as a backing disk, in order to save disk space."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:246
 msgid "C<$ocamllibdir/v2v_test_harness/v2v_test_harness.mli>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:167
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:248
 msgid ""
 "The test library interface.  Read this for detailed programming "
 "documentation."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:170
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:251
 msgid "C<$ocamllibdir/v2v_test_harness/META>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:172
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:253
 msgid "The findlib META file allowing you to use the library from L<ocamlfind(1)>."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:179
-msgid "L<virt-v2v(1)>, L<virt-p2v(1)>, L<guestfs(3)>, L<http://libguestfs.org/>."
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:258
+msgid "NB: To find the value of C<$ocamllibdir>, run C<ocamlc -where>"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:262
+msgid ""
+"L<virt-v2v(1)>, L<virt-p2v(1)>, L<guestfs(3)>, L<virsh(1)>, L<compare(1)>, "
+"L<git-annex(1)>, L<http://libguestfs.org/>."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:190
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:276
 msgid "Copyright (C) 2014-2015 Red Hat Inc."
 msgstr ""
 
diff --git a/po-docs/nl.po b/po-docs/nl.po
index 4c260fd..e3bbf43 100644
--- a/po-docs/nl.po
+++ b/po-docs/nl.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: libguestfs 1.29.26\n"
 "Report-Msgid-Bugs-To: libguestfs at redhat.com\n"
-"POT-Creation-Date: 2015-04-01 10:05+0100\n"
+"POT-Creation-Date: 2015-04-10 13:46+0100\n"
 "PO-Revision-Date: 2014-10-18 04:01-0400\n"
 "Last-Translator: rjones <rjones at redhat.com>\n"
 "Language-Team: Dutch (http://www.transifex.com/projects/p/libguestfs/"
@@ -1241,9 +1241,9 @@ msgstr ""
 #: ../sysprep/virt-sysprep.pod:414 ../tools/virt-win-reg:194
 #: ../tools/virt-win-reg:199 ../tools/virt-win-reg:205
 #: ../tools/virt-win-reg:754 ../tools/virt-win-reg:760
-#: ../tools/virt-win-reg:766 ../v2v/test-harness/virt-v2v-test-harness.pod:122
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:126
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:130 ../v2v/virt-v2v.pod:598
+#: ../tools/virt-win-reg:766 ../v2v/test-harness/virt-v2v-test-harness.pod:172
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:176
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:180 ../v2v/virt-v2v.pod:598
 #: ../v2v/virt-v2v.pod:603 ../v2v/virt-v2v.pod:608 ../v2v/virt-v2v.pod:612
 #: ../v2v/virt-v2v.pod:756 ../v2v/virt-v2v.pod:761 ../v2v/virt-v2v.pod:772
 #: ../v2v/virt-v2v.pod:784 ../v2v/virt-v2v.pod:790 ../v2v/virt-v2v.pod:795
@@ -1328,7 +1328,7 @@ msgstr ""
 #: ../sysprep/virt-sysprep.pod:559 ../test-tool/libguestfs-test-tool.pod:178
 #: ../tools/virt-list-filesystems:181 ../tools/virt-list-partitions:263
 #: ../tools/virt-tar:292 ../tools/virt-win-reg:785
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:177 ../v2v/virt-v2v.pod:1513
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:260 ../v2v/virt-v2v.pod:1513
 msgid "SEE ALSO"
 msgstr ""
 
@@ -1366,7 +1366,7 @@ msgstr ""
 #: ../resize/virt-resize.pod:781 ../sparsify/virt-sparsify.pod:454
 #: ../sysprep/virt-sysprep.pod:578 ../tools/virt-list-filesystems:195
 #: ../tools/virt-list-partitions:276 ../tools/virt-tar:308
-#: ../tools/virt-win-reg:801 ../v2v/test-harness/virt-v2v-test-harness.pod:186
+#: ../tools/virt-win-reg:801 ../v2v/test-harness/virt-v2v-test-harness.pod:272
 #: ../v2v/virt-v2v.pod:1530
 msgid "Richard W.M. Jones L<http://people.redhat.com/~rjones/>"
 msgstr ""
@@ -1399,7 +1399,7 @@ msgstr ""
 #: ../sysprep/virt-sysprep.pod:582 ../test-tool/libguestfs-test-tool.pod:188
 #: ../tools/virt-list-filesystems:197 ../tools/virt-list-partitions:278
 #: ../tools/virt-tar:310 ../tools/virt-win-reg:803
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:188 ../v2v/virt-v2v.pod:1540
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:274 ../v2v/virt-v2v.pod:1540
 msgid "COPYRIGHT"
 msgstr ""
 
@@ -1729,7 +1729,7 @@ msgstr ""
 #: ../python/examples/guestfs-python.pod:65
 #: ../ruby/examples/guestfs-ruby.pod:48 ../src/guestfs.pod:4847
 #: ../sysprep/virt-sysprep.pod:576 ../test-tool/libguestfs-test-tool.pod:184
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:184 ../v2v/virt-v2v.pod:1528
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:270 ../v2v/virt-v2v.pod:1528
 msgid "AUTHORS"
 msgstr ""
 
@@ -8550,7 +8550,7 @@ msgstr ""
 #: ../daemon/guestfsd.pod:76 ../fish/guestfish.pod:1531
 #: ../fuse/guestmount.pod:404 ../p2v/virt-p2v-make-disk.pod:72
 #: ../p2v/virt-p2v-make-kickstart.pod:162 ../rescue/virt-rescue.pod:393
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:157 ../v2v/virt-v2v.pod:1443
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:242 ../v2v/virt-v2v.pod:1443
 msgid "FILES"
 msgstr ""
 
@@ -84426,8 +84426,8 @@ msgstr ""
 
 #. type: verbatim
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:7
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:112
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:141
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:162
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:191
 #, no-wrap
 msgid ""
 " open V2v_test_harness\n"
@@ -84438,17 +84438,17 @@ msgstr ""
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:9
 #, no-wrap
 msgid ""
-" let test = \"rhel45-i386-fv\"\n"
+" let test = \"rhel_45_i386_fv\"\n"
 " let test_plan = {\n"
 "   default_plan with\n"
-"     boot_plan = Boot_to_screenshot (test ^ \".ppm\")\n"
+"     boot_plan = Boot_to_screenshot (test ^ \"-login.ppm\")\n"
 " }\n"
 " \n"
 msgstr ""
 
 #. type: verbatim
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:15
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:149
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:199
 #, no-wrap
 msgid ""
 " let () = run ~test ~test_plan ()\n"
@@ -84499,62 +84499,149 @@ msgstr ""
 #. type: textblock
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:42
 msgid ""
-"The freely redistributable test cases can be downloaded from: I<B<Download "
-"location TBD>>"
+"The freely redistributable test cases can be downloaded from: L<http://git."
+"annexia.org/?p=virt-v2v-test-cases-free.git> I<B<not available yet>>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:45
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:46
 msgid ""
-"The proprietary test cases are not made available to the public, for obvious "
-"licensing reasons."
+"The proprietary test cases are available at L<http://git.annexia.org/?p=virt-"
+"v2v-test-cases-nonfree.git> This I<does not> contain the proprietary images "
+"themselves, which are not made available to the public for licensing reasons."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:48
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:51
 msgid ""
 "The test cases consist of disk images which are very large, from 250 MB "
 "through to tens of gigabytes I<each>.  This means that distributing test "
-"cases can be very time-consuming and expensive."
+"cases can be very time-consuming and expensive.  We use L<git-annex(1)> to "
+"distribute the test images."
 msgstr ""
 
 #. type: =head2
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:52
-msgid "RUNNING THE TEST CASES"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:56
+msgid "REQUIREMENTS"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:54
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:58
 msgid ""
-"To run the test cases you must install the virt-v2v test harness (the OCaml "
-"module: C<V2v_test_harness>, source in C<libguestfs.git/v2v/test-harness>).  "
-"In Fedora, install the C<virt-v2v-test-harness> package."
+"It's recommended to use an idle machine for testing.  You will need B<a lot "
+"of disk space> to run the tests, in excess of S<100 GB>.  You should also "
+"ensure the test machine has plenty of RAM, at least S<16 GB>."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:63
+msgid "GETTING THE TEST HARNESS"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:65
+msgid "To run the test cases you must have the virt-v2v test harness."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:67
+msgid "The OCaml module is C<V2v_test_harness>."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:69
+msgid ""
+"The easiest way is to compile libguestfs from source (I<note> do not install "
+"it).  The test harness will be in C<libguestfs/v2v/test-harness>"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:73
+msgid "It is also possible to install test harness as an OCaml module."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:75
+msgid "RUNNING THE TEST CASES"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:59
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:77
 msgid ""
 "Once you have checked out the freely redistributed test cases from the "
 "repository, do:"
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:62
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:80
 #, no-wrap
 msgid ""
-" ./configure\n"
+" ./configure [--with-test-harness=/path/to/libguestfs/v2v/test-harness]\n"
 " make\n"
 " make check\n"
 "\n"
 msgstr ""
 
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:84
+msgid "PARALLEL TESTS"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:86
+msgid "You can run test cases in parallel by doing:"
+msgstr ""
+
+#. type: verbatim
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:88
+#, no-wrap
+msgid ""
+" make check -j<N>\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:90
+msgid ""
+"(eg. C<-j2> for running up to 2 tests in parallel).  Be careful about "
+"running too many parallel tests, as it can slow down each test enough to "
+"cause false failures."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:94
+msgid "RUNNING TEST CASES AGAINST UPSTREAM VIRT-V2V"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:96
+msgid ""
+"Using C<make check> picks up whatever C<virt-v2v> binary is on your C<$PATH>."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:99
+msgid ""
+"If you have compiled libguestfs from source and want to test that version of "
+"virt-v2v, use the libguestfs C<run> script (in the top-level build directory "
+"of the libguestfs sources).  eg:"
+msgstr ""
+
+#. type: verbatim
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:103
+#, no-wrap
+msgid ""
+" ../libguestfs/run make check\n"
+"\n"
+msgstr ""
+
 #. type: =head1
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:66
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:105
 msgid "WRITING NEW TEST CASES"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:68
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:107
 msgid ""
 "If you are interested in writing test cases, it is suggested that you start "
 "by downloading the freely redistributable test cases, or at least look at "
@@ -84562,54 +84649,68 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:72
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:111
 msgid ""
-"Also you must install the virt-v2v test harness (the OCaml module: "
-"C<V2v_test_harness>, source in C<libguestfs.git/v2v/test-harness>).  In "
-"Fedora, install the C<virt-v2v-test-harness> package."
+"Also you must have the virt-v2v test harness - see L</GETTING THE TEST "
+"HARNESS> above."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:114
+msgid "FILES IN EACH TEST CASE"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:76
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:116
 msgid "Each test case consists of:"
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:80
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:120
 msgid "I<test>.img.xz"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:82
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:122
 msgid ""
 "The disk image of the virtual machine before conversion.  Usually this "
 "should be converted to raw format and xz-compressed."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:85
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:125
+msgid "I<test>.ova"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:127
+msgid "Alternatively, an OVA, exported from VMware, may be used."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:129
 msgid "I<test>.xml"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:87
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:131
 msgid ""
 "The libvirt XML used as input to virt-v2v.  See the discussion of I<-i "
 "libvirtxml> in L<virt-v2v(1)>."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:90
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:134
 msgid "I<test>.ppm"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:92
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:136
 msgid "An optional screenshot or screenshots."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:94
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:138
 msgid ""
 "You can supply zero or more \"known good\" screenshots which represent "
 "intermediate steps where the guest is booting.  This is useful where a guest "
@@ -84618,39 +84719,51 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:99
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:143
 msgid ""
 "You can supply zero or one \"final\" screenshot.  This is often a screenshot "
 "of the login page which indicates that the guest booted successfully."
 msgstr ""
 
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:147
+msgid ""
+"The screenshots are captured using L<virsh(1)>.  Comparison of screenshots "
+"against the test images is done using the ImageMagick L<compare(1)> program."
+msgstr ""
+
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:103
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:151
 msgid "I<test>.ml"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:105
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:153
 msgid "The test itself - see below."
 msgstr ""
 
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:157
+msgid "WRITING THE TEST"
+msgstr ""
+
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:109
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:159
 msgid ""
 "The test file (C<*.ml>) is used to control the test harness, and minimally "
 "it would look something like this:"
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:114
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:164
 #, no-wrap
 msgid ""
-" let test = \"short-name\"\n"
+" let test = \"short_name\"\n"
 " \n"
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:116
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:166
 #, no-wrap
 msgid ""
 " let () = run ~test ()\n"
@@ -84658,29 +84771,29 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:118
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:168
 msgid "That would instruct the test harness to:"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:124
-msgid "Uncompress C<I<short-name>.img.xz>"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:174
+msgid "Uncompress C<I<short_name>.img.xz>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:128
-msgid "Run C<virt-v2v -i libvirtxml I<short-name>.xml [...]>"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:178
+msgid "Run C<virt-v2v -i libvirtxml I<short_name>.xml [...]>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:132
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:182
 msgid ""
 "Boot the resulting guest and check that it writes to its disk and then the "
 "disk becomes idle."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:137
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:187
 msgid ""
 "The above is a rather simplistic test.  A more realistic test is to ensure "
 "the guest reaches a final milestone (screenshot), eg. a login page.  To do "
@@ -84688,10 +84801,10 @@ msgid ""
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:143
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:193
 #, no-wrap
 msgid ""
-" let test = \"short-name\"\n"
+" let test = \"short_name\"\n"
 " let test_plan = {\n"
 "   default_plan with\n"
 "     boot_plan = Boot_to_screenshot (test ^ \".ppm\")\n"
@@ -84700,7 +84813,7 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:151
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:201
 msgid ""
 "For an even better test, you can supply post-conversion and post-boot test "
 "cases which examine the disk image (using libguestfs) to verify that files "
@@ -84708,50 +84821,114 @@ msgid ""
 "See C<V2v_test_harness.mli> for more information on how to do that."
 msgstr ""
 
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:207
+msgid "FILES GENERATED BY RUNNING THE TEST"
+msgstr ""
+
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:159
-msgid "Note: To find the value of C<$ocamllibdir>, run:"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:209
+msgid "When you run each test, the following files can be created:"
 msgstr ""
 
-#. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:161
-#, no-wrap
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:213
+msgid "I<test>-I<yyyymmdd-hhmmss>.scrn"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:215
 msgid ""
-" ocamlc -where\n"
-"\n"
+"Screenshot(s) of the guest's graphical console.  These are helpful when "
+"writing tests or debugging test failures."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:218
+msgid "The screenshot format is Portable Pixmap (PPM)."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:165
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:220
+msgid "I<test>.img"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:222
+msgid "The uncompressed original disk image (before conversion)."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:224
+msgid "I<test>-converted-sda"
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:226
+msgid "I<test>-converted.xml"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:228
+msgid ""
+"The result of conversion, ie. after running virt-v2v but before test-booting "
+"the guest.  See the L<virt-v2v(1)> manual page description of I<-o local>."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:232
+msgid "The disk image format is qcow2."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:234
+msgid "I<test>-booted-sda"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:236
+msgid ""
+"The disk image after test-booting.  This is a qcow2 file which uses the "
+"I<test>-converted-sda file as a backing disk, in order to save disk space."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:246
 msgid "C<$ocamllibdir/v2v_test_harness/v2v_test_harness.mli>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:167
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:248
 msgid ""
 "The test library interface.  Read this for detailed programming "
 "documentation."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:170
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:251
 msgid "C<$ocamllibdir/v2v_test_harness/META>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:172
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:253
 msgid ""
 "The findlib META file allowing you to use the library from L<ocamlfind(1)>."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:179
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:258
+msgid "NB: To find the value of C<$ocamllibdir>, run C<ocamlc -where>"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:262
 msgid ""
-"L<virt-v2v(1)>, L<virt-p2v(1)>, L<guestfs(3)>, L<http://libguestfs.org/>."
+"L<virt-v2v(1)>, L<virt-p2v(1)>, L<guestfs(3)>, L<virsh(1)>, L<compare(1)>, "
+"L<git-annex(1)>, L<http://libguestfs.org/>."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:190
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:276
 msgid "Copyright (C) 2014-2015 Red Hat Inc."
 msgstr ""
 
diff --git a/po-docs/tg.po b/po-docs/tg.po
index 50d51bb..cc03066 100644
--- a/po-docs/tg.po
+++ b/po-docs/tg.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: libguestfs 1.29.26\n"
 "Report-Msgid-Bugs-To: libguestfs at redhat.com\n"
-"POT-Creation-Date: 2015-04-01 10:05+0100\n"
+"POT-Creation-Date: 2015-04-10 13:46+0100\n"
 "PO-Revision-Date: 2014-10-18 04:01-0400\n"
 "Last-Translator: rjones <rjones at redhat.com>\n"
 "Language-Team: Tajik (http://www.transifex.com/projects/p/libguestfs/"
@@ -1240,9 +1240,9 @@ msgstr ""
 #: ../sysprep/virt-sysprep.pod:414 ../tools/virt-win-reg:194
 #: ../tools/virt-win-reg:199 ../tools/virt-win-reg:205
 #: ../tools/virt-win-reg:754 ../tools/virt-win-reg:760
-#: ../tools/virt-win-reg:766 ../v2v/test-harness/virt-v2v-test-harness.pod:122
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:126
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:130 ../v2v/virt-v2v.pod:598
+#: ../tools/virt-win-reg:766 ../v2v/test-harness/virt-v2v-test-harness.pod:172
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:176
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:180 ../v2v/virt-v2v.pod:598
 #: ../v2v/virt-v2v.pod:603 ../v2v/virt-v2v.pod:608 ../v2v/virt-v2v.pod:612
 #: ../v2v/virt-v2v.pod:756 ../v2v/virt-v2v.pod:761 ../v2v/virt-v2v.pod:772
 #: ../v2v/virt-v2v.pod:784 ../v2v/virt-v2v.pod:790 ../v2v/virt-v2v.pod:795
@@ -1327,7 +1327,7 @@ msgstr ""
 #: ../sysprep/virt-sysprep.pod:559 ../test-tool/libguestfs-test-tool.pod:178
 #: ../tools/virt-list-filesystems:181 ../tools/virt-list-partitions:263
 #: ../tools/virt-tar:292 ../tools/virt-win-reg:785
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:177 ../v2v/virt-v2v.pod:1513
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:260 ../v2v/virt-v2v.pod:1513
 msgid "SEE ALSO"
 msgstr ""
 
@@ -1365,7 +1365,7 @@ msgstr "МУАЛЛИФ"
 #: ../resize/virt-resize.pod:781 ../sparsify/virt-sparsify.pod:454
 #: ../sysprep/virt-sysprep.pod:578 ../tools/virt-list-filesystems:195
 #: ../tools/virt-list-partitions:276 ../tools/virt-tar:308
-#: ../tools/virt-win-reg:801 ../v2v/test-harness/virt-v2v-test-harness.pod:186
+#: ../tools/virt-win-reg:801 ../v2v/test-harness/virt-v2v-test-harness.pod:272
 #: ../v2v/virt-v2v.pod:1530
 msgid "Richard W.M. Jones L<http://people.redhat.com/~rjones/>"
 msgstr ""
@@ -1398,7 +1398,7 @@ msgstr ""
 #: ../sysprep/virt-sysprep.pod:582 ../test-tool/libguestfs-test-tool.pod:188
 #: ../tools/virt-list-filesystems:197 ../tools/virt-list-partitions:278
 #: ../tools/virt-tar:310 ../tools/virt-win-reg:803
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:188 ../v2v/virt-v2v.pod:1540
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:274 ../v2v/virt-v2v.pod:1540
 msgid "COPYRIGHT"
 msgstr ""
 
@@ -1728,7 +1728,7 @@ msgstr ""
 #: ../python/examples/guestfs-python.pod:65
 #: ../ruby/examples/guestfs-ruby.pod:48 ../src/guestfs.pod:4847
 #: ../sysprep/virt-sysprep.pod:576 ../test-tool/libguestfs-test-tool.pod:184
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:184 ../v2v/virt-v2v.pod:1528
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:270 ../v2v/virt-v2v.pod:1528
 msgid "AUTHORS"
 msgstr "МУАЛЛИФ"
 
@@ -8553,7 +8553,7 @@ msgstr ""
 #: ../daemon/guestfsd.pod:76 ../fish/guestfish.pod:1531
 #: ../fuse/guestmount.pod:404 ../p2v/virt-p2v-make-disk.pod:72
 #: ../p2v/virt-p2v-make-kickstart.pod:162 ../rescue/virt-rescue.pod:393
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:157 ../v2v/virt-v2v.pod:1443
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:242 ../v2v/virt-v2v.pod:1443
 msgid "FILES"
 msgstr "ФАЙЛҲО"
 
@@ -84427,8 +84427,8 @@ msgstr ""
 
 #. type: verbatim
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:7
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:112
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:141
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:162
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:191
 #, no-wrap
 msgid ""
 " open V2v_test_harness\n"
@@ -84439,17 +84439,17 @@ msgstr ""
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:9
 #, no-wrap
 msgid ""
-" let test = \"rhel45-i386-fv\"\n"
+" let test = \"rhel_45_i386_fv\"\n"
 " let test_plan = {\n"
 "   default_plan with\n"
-"     boot_plan = Boot_to_screenshot (test ^ \".ppm\")\n"
+"     boot_plan = Boot_to_screenshot (test ^ \"-login.ppm\")\n"
 " }\n"
 " \n"
 msgstr ""
 
 #. type: verbatim
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:15
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:149
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:199
 #, no-wrap
 msgid ""
 " let () = run ~test ~test_plan ()\n"
@@ -84500,62 +84500,149 @@ msgstr ""
 #. type: textblock
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:42
 msgid ""
-"The freely redistributable test cases can be downloaded from: I<B<Download "
-"location TBD>>"
+"The freely redistributable test cases can be downloaded from: L<http://git."
+"annexia.org/?p=virt-v2v-test-cases-free.git> I<B<not available yet>>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:45
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:46
 msgid ""
-"The proprietary test cases are not made available to the public, for obvious "
-"licensing reasons."
+"The proprietary test cases are available at L<http://git.annexia.org/?p=virt-"
+"v2v-test-cases-nonfree.git> This I<does not> contain the proprietary images "
+"themselves, which are not made available to the public for licensing reasons."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:48
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:51
 msgid ""
 "The test cases consist of disk images which are very large, from 250 MB "
 "through to tens of gigabytes I<each>.  This means that distributing test "
-"cases can be very time-consuming and expensive."
+"cases can be very time-consuming and expensive.  We use L<git-annex(1)> to "
+"distribute the test images."
 msgstr ""
 
 #. type: =head2
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:52
-msgid "RUNNING THE TEST CASES"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:56
+msgid "REQUIREMENTS"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:54
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:58
 msgid ""
-"To run the test cases you must install the virt-v2v test harness (the OCaml "
-"module: C<V2v_test_harness>, source in C<libguestfs.git/v2v/test-harness>).  "
-"In Fedora, install the C<virt-v2v-test-harness> package."
+"It's recommended to use an idle machine for testing.  You will need B<a lot "
+"of disk space> to run the tests, in excess of S<100 GB>.  You should also "
+"ensure the test machine has plenty of RAM, at least S<16 GB>."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:63
+msgid "GETTING THE TEST HARNESS"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:65
+msgid "To run the test cases you must have the virt-v2v test harness."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:67
+msgid "The OCaml module is C<V2v_test_harness>."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:69
+msgid ""
+"The easiest way is to compile libguestfs from source (I<note> do not install "
+"it).  The test harness will be in C<libguestfs/v2v/test-harness>"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:73
+msgid "It is also possible to install test harness as an OCaml module."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:75
+msgid "RUNNING THE TEST CASES"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:59
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:77
 msgid ""
 "Once you have checked out the freely redistributed test cases from the "
 "repository, do:"
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:62
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:80
 #, no-wrap
 msgid ""
-" ./configure\n"
+" ./configure [--with-test-harness=/path/to/libguestfs/v2v/test-harness]\n"
 " make\n"
 " make check\n"
 "\n"
 msgstr ""
 
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:84
+msgid "PARALLEL TESTS"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:86
+msgid "You can run test cases in parallel by doing:"
+msgstr ""
+
+#. type: verbatim
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:88
+#, no-wrap
+msgid ""
+" make check -j<N>\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:90
+msgid ""
+"(eg. C<-j2> for running up to 2 tests in parallel).  Be careful about "
+"running too many parallel tests, as it can slow down each test enough to "
+"cause false failures."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:94
+msgid "RUNNING TEST CASES AGAINST UPSTREAM VIRT-V2V"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:96
+msgid ""
+"Using C<make check> picks up whatever C<virt-v2v> binary is on your C<$PATH>."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:99
+msgid ""
+"If you have compiled libguestfs from source and want to test that version of "
+"virt-v2v, use the libguestfs C<run> script (in the top-level build directory "
+"of the libguestfs sources).  eg:"
+msgstr ""
+
+#. type: verbatim
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:103
+#, no-wrap
+msgid ""
+" ../libguestfs/run make check\n"
+"\n"
+msgstr ""
+
 #. type: =head1
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:66
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:105
 msgid "WRITING NEW TEST CASES"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:68
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:107
 msgid ""
 "If you are interested in writing test cases, it is suggested that you start "
 "by downloading the freely redistributable test cases, or at least look at "
@@ -84563,54 +84650,68 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:72
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:111
 msgid ""
-"Also you must install the virt-v2v test harness (the OCaml module: "
-"C<V2v_test_harness>, source in C<libguestfs.git/v2v/test-harness>).  In "
-"Fedora, install the C<virt-v2v-test-harness> package."
+"Also you must have the virt-v2v test harness - see L</GETTING THE TEST "
+"HARNESS> above."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:114
+msgid "FILES IN EACH TEST CASE"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:76
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:116
 msgid "Each test case consists of:"
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:80
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:120
 msgid "I<test>.img.xz"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:82
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:122
 msgid ""
 "The disk image of the virtual machine before conversion.  Usually this "
 "should be converted to raw format and xz-compressed."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:85
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:125
+msgid "I<test>.ova"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:127
+msgid "Alternatively, an OVA, exported from VMware, may be used."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:129
 msgid "I<test>.xml"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:87
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:131
 msgid ""
 "The libvirt XML used as input to virt-v2v.  See the discussion of I<-i "
 "libvirtxml> in L<virt-v2v(1)>."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:90
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:134
 msgid "I<test>.ppm"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:92
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:136
 msgid "An optional screenshot or screenshots."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:94
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:138
 msgid ""
 "You can supply zero or more \"known good\" screenshots which represent "
 "intermediate steps where the guest is booting.  This is useful where a guest "
@@ -84619,39 +84720,51 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:99
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:143
 msgid ""
 "You can supply zero or one \"final\" screenshot.  This is often a screenshot "
 "of the login page which indicates that the guest booted successfully."
 msgstr ""
 
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:147
+msgid ""
+"The screenshots are captured using L<virsh(1)>.  Comparison of screenshots "
+"against the test images is done using the ImageMagick L<compare(1)> program."
+msgstr ""
+
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:103
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:151
 msgid "I<test>.ml"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:105
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:153
 msgid "The test itself - see below."
 msgstr ""
 
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:157
+msgid "WRITING THE TEST"
+msgstr ""
+
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:109
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:159
 msgid ""
 "The test file (C<*.ml>) is used to control the test harness, and minimally "
 "it would look something like this:"
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:114
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:164
 #, no-wrap
 msgid ""
-" let test = \"short-name\"\n"
+" let test = \"short_name\"\n"
 " \n"
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:116
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:166
 #, no-wrap
 msgid ""
 " let () = run ~test ()\n"
@@ -84659,29 +84772,29 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:118
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:168
 msgid "That would instruct the test harness to:"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:124
-msgid "Uncompress C<I<short-name>.img.xz>"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:174
+msgid "Uncompress C<I<short_name>.img.xz>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:128
-msgid "Run C<virt-v2v -i libvirtxml I<short-name>.xml [...]>"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:178
+msgid "Run C<virt-v2v -i libvirtxml I<short_name>.xml [...]>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:132
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:182
 msgid ""
 "Boot the resulting guest and check that it writes to its disk and then the "
 "disk becomes idle."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:137
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:187
 msgid ""
 "The above is a rather simplistic test.  A more realistic test is to ensure "
 "the guest reaches a final milestone (screenshot), eg. a login page.  To do "
@@ -84689,10 +84802,10 @@ msgid ""
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:143
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:193
 #, no-wrap
 msgid ""
-" let test = \"short-name\"\n"
+" let test = \"short_name\"\n"
 " let test_plan = {\n"
 "   default_plan with\n"
 "     boot_plan = Boot_to_screenshot (test ^ \".ppm\")\n"
@@ -84701,7 +84814,7 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:151
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:201
 msgid ""
 "For an even better test, you can supply post-conversion and post-boot test "
 "cases which examine the disk image (using libguestfs) to verify that files "
@@ -84709,50 +84822,114 @@ msgid ""
 "See C<V2v_test_harness.mli> for more information on how to do that."
 msgstr ""
 
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:207
+msgid "FILES GENERATED BY RUNNING THE TEST"
+msgstr ""
+
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:159
-msgid "Note: To find the value of C<$ocamllibdir>, run:"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:209
+msgid "When you run each test, the following files can be created:"
 msgstr ""
 
-#. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:161
-#, no-wrap
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:213
+msgid "I<test>-I<yyyymmdd-hhmmss>.scrn"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:215
 msgid ""
-" ocamlc -where\n"
-"\n"
+"Screenshot(s) of the guest's graphical console.  These are helpful when "
+"writing tests or debugging test failures."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:218
+msgid "The screenshot format is Portable Pixmap (PPM)."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:165
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:220
+msgid "I<test>.img"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:222
+msgid "The uncompressed original disk image (before conversion)."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:224
+msgid "I<test>-converted-sda"
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:226
+msgid "I<test>-converted.xml"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:228
+msgid ""
+"The result of conversion, ie. after running virt-v2v but before test-booting "
+"the guest.  See the L<virt-v2v(1)> manual page description of I<-o local>."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:232
+msgid "The disk image format is qcow2."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:234
+msgid "I<test>-booted-sda"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:236
+msgid ""
+"The disk image after test-booting.  This is a qcow2 file which uses the "
+"I<test>-converted-sda file as a backing disk, in order to save disk space."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:246
 msgid "C<$ocamllibdir/v2v_test_harness/v2v_test_harness.mli>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:167
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:248
 msgid ""
 "The test library interface.  Read this for detailed programming "
 "documentation."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:170
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:251
 msgid "C<$ocamllibdir/v2v_test_harness/META>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:172
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:253
 msgid ""
 "The findlib META file allowing you to use the library from L<ocamlfind(1)>."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:179
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:258
+msgid "NB: To find the value of C<$ocamllibdir>, run C<ocamlc -where>"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:262
 msgid ""
-"L<virt-v2v(1)>, L<virt-p2v(1)>, L<guestfs(3)>, L<http://libguestfs.org/>."
+"L<virt-v2v(1)>, L<virt-p2v(1)>, L<guestfs(3)>, L<virsh(1)>, L<compare(1)>, "
+"L<git-annex(1)>, L<http://libguestfs.org/>."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:190
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:276
 msgid "Copyright (C) 2014-2015 Red Hat Inc."
 msgstr ""
 
diff --git a/po-docs/uk.po b/po-docs/uk.po
index d9b03c9..e920241 100644
--- a/po-docs/uk.po
+++ b/po-docs/uk.po
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: libguestfs 1.29.26\n"
 "Report-Msgid-Bugs-To: libguestfs at redhat.com\n"
-"POT-Creation-Date: 2015-04-01 10:05+0100\n"
+"POT-Creation-Date: 2015-04-10 13:46+0100\n"
 "PO-Revision-Date: 2014-10-18 04:01-0400\n"
 "Last-Translator: rjones <rjones at redhat.com>\n"
 "Language-Team: Ukrainian (http://www.transifex.com/projects/p/libguestfs/"
@@ -1389,9 +1389,9 @@ msgstr "Ця програма повертає:"
 #: ../sysprep/virt-sysprep.pod:414 ../tools/virt-win-reg:194
 #: ../tools/virt-win-reg:199 ../tools/virt-win-reg:205
 #: ../tools/virt-win-reg:754 ../tools/virt-win-reg:760
-#: ../tools/virt-win-reg:766 ../v2v/test-harness/virt-v2v-test-harness.pod:122
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:126
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:130 ../v2v/virt-v2v.pod:598
+#: ../tools/virt-win-reg:766 ../v2v/test-harness/virt-v2v-test-harness.pod:172
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:176
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:180 ../v2v/virt-v2v.pod:598
 #: ../v2v/virt-v2v.pod:603 ../v2v/virt-v2v.pod:608 ../v2v/virt-v2v.pod:612
 #: ../v2v/virt-v2v.pod:756 ../v2v/virt-v2v.pod:761 ../v2v/virt-v2v.pod:772
 #: ../v2v/virt-v2v.pod:784 ../v2v/virt-v2v.pod:790 ../v2v/virt-v2v.pod:795
@@ -1478,7 +1478,7 @@ msgstr ""
 #: ../sysprep/virt-sysprep.pod:559 ../test-tool/libguestfs-test-tool.pod:178
 #: ../tools/virt-list-filesystems:181 ../tools/virt-list-partitions:263
 #: ../tools/virt-tar:292 ../tools/virt-win-reg:785
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:177 ../v2v/virt-v2v.pod:1513
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:260 ../v2v/virt-v2v.pod:1513
 msgid "SEE ALSO"
 msgstr "ТАКОЖ ПЕРЕГЛЯНЬТЕ"
 
@@ -1518,7 +1518,7 @@ msgstr "АВТОР"
 #: ../resize/virt-resize.pod:781 ../sparsify/virt-sparsify.pod:454
 #: ../sysprep/virt-sysprep.pod:578 ../tools/virt-list-filesystems:195
 #: ../tools/virt-list-partitions:276 ../tools/virt-tar:308
-#: ../tools/virt-win-reg:801 ../v2v/test-harness/virt-v2v-test-harness.pod:186
+#: ../tools/virt-win-reg:801 ../v2v/test-harness/virt-v2v-test-harness.pod:272
 #: ../v2v/virt-v2v.pod:1530
 msgid "Richard W.M. Jones L<http://people.redhat.com/~rjones/>"
 msgstr "Richard W.M. Jones L<http://people.redhat.com/~rjones/>"
@@ -1551,7 +1551,7 @@ msgstr "Richard W.M. Jones L<http://people.redhat.com/~rjones/>"
 #: ../sysprep/virt-sysprep.pod:582 ../test-tool/libguestfs-test-tool.pod:188
 #: ../tools/virt-list-filesystems:197 ../tools/virt-list-partitions:278
 #: ../tools/virt-tar:310 ../tools/virt-win-reg:803
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:188 ../v2v/virt-v2v.pod:1540
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:274 ../v2v/virt-v2v.pod:1540
 msgid "COPYRIGHT"
 msgstr "АВТОРСЬКІ ПРАВА"
 
@@ -1907,7 +1907,7 @@ msgstr ""
 #: ../python/examples/guestfs-python.pod:65
 #: ../ruby/examples/guestfs-ruby.pod:48 ../src/guestfs.pod:4847
 #: ../sysprep/virt-sysprep.pod:576 ../test-tool/libguestfs-test-tool.pod:184
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:184 ../v2v/virt-v2v.pod:1528
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:270 ../v2v/virt-v2v.pod:1528
 msgid "AUTHORS"
 msgstr "АВТОРИ"
 
@@ -9181,7 +9181,7 @@ msgstr ""
 #: ../daemon/guestfsd.pod:76 ../fish/guestfish.pod:1531
 #: ../fuse/guestmount.pod:404 ../p2v/virt-p2v-make-disk.pod:72
 #: ../p2v/virt-p2v-make-kickstart.pod:162 ../rescue/virt-rescue.pod:393
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:157 ../v2v/virt-v2v.pod:1443
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:242 ../v2v/virt-v2v.pod:1443
 msgid "FILES"
 msgstr "ФАЙЛИ"
 
@@ -91911,8 +91911,8 @@ msgstr ""
 
 #. type: verbatim
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:7
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:112
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:141
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:162
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:191
 #, no-wrap
 msgid ""
 " open V2v_test_harness\n"
@@ -91923,17 +91923,17 @@ msgstr ""
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:9
 #, no-wrap
 msgid ""
-" let test = \"rhel45-i386-fv\"\n"
+" let test = \"rhel_45_i386_fv\"\n"
 " let test_plan = {\n"
 "   default_plan with\n"
-"     boot_plan = Boot_to_screenshot (test ^ \".ppm\")\n"
+"     boot_plan = Boot_to_screenshot (test ^ \"-login.ppm\")\n"
 " }\n"
 " \n"
 msgstr ""
 
 #. type: verbatim
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:15
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:149
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:199
 #, no-wrap
 msgid ""
 " let () = run ~test ~test_plan ()\n"
@@ -91984,69 +91984,159 @@ msgstr ""
 #. type: textblock
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:42
 msgid ""
-"The freely redistributable test cases can be downloaded from: I<B<Download "
-"location TBD>>"
+"The freely redistributable test cases can be downloaded from: L<http://git."
+"annexia.org/?p=virt-v2v-test-cases-free.git> I<B<not available yet>>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:45
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:46
 msgid ""
-"The proprietary test cases are not made available to the public, for obvious "
-"licensing reasons."
+"The proprietary test cases are available at L<http://git.annexia.org/?p=virt-"
+"v2v-test-cases-nonfree.git> This I<does not> contain the proprietary images "
+"themselves, which are not made available to the public for licensing reasons."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:48
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:51
 msgid ""
 "The test cases consist of disk images which are very large, from 250 MB "
 "through to tens of gigabytes I<each>.  This means that distributing test "
-"cases can be very time-consuming and expensive."
+"cases can be very time-consuming and expensive.  We use L<git-annex(1)> to "
+"distribute the test images."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:56
+msgid "REQUIREMENTS"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:58
+msgid ""
+"It's recommended to use an idle machine for testing.  You will need B<a lot "
+"of disk space> to run the tests, in excess of S<100 GB>.  You should also "
+"ensure the test machine has plenty of RAM, at least S<16 GB>."
 msgstr ""
 
 #. type: =head2
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:52
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:63
 #, fuzzy
 #| msgid "RUNNING UNTRUSTED GUEST COMMANDS"
-msgid "RUNNING THE TEST CASES"
+msgid "GETTING THE TEST HARNESS"
 msgstr "ЗАПУСК НЕЗАХИЩЕНИХ КОМАНД ГОСТЬОВОЇ СИСТЕМИ"
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:54
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:65
+msgid "To run the test cases you must have the virt-v2v test harness."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:67
+msgid "The OCaml module is C<V2v_test_harness>."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:69
 msgid ""
-"To run the test cases you must install the virt-v2v test harness (the OCaml "
-"module: C<V2v_test_harness>, source in C<libguestfs.git/v2v/test-harness>).  "
-"In Fedora, install the C<virt-v2v-test-harness> package."
+"The easiest way is to compile libguestfs from source (I<note> do not install "
+"it).  The test harness will be in C<libguestfs/v2v/test-harness>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:59
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:73
+msgid "It is also possible to install test harness as an OCaml module."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:75
+#, fuzzy
+#| msgid "RUNNING UNTRUSTED GUEST COMMANDS"
+msgid "RUNNING THE TEST CASES"
+msgstr "ЗАПУСК НЕЗАХИЩЕНИХ КОМАНД ГОСТЬОВОЇ СИСТЕМИ"
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:77
 msgid ""
 "Once you have checked out the freely redistributed test cases from the "
 "repository, do:"
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:62
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:80
+#, no-wrap
+msgid ""
+" ./configure [--with-test-harness=/path/to/libguestfs/v2v/test-harness]\n"
+" make\n"
+" make check\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:84
+msgid "PARALLEL TESTS"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:86
+msgid "You can run test cases in parallel by doing:"
+msgstr ""
+
+#. type: verbatim
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:88
+#, fuzzy, no-wrap
+#| msgid "C<make check>"
+msgid ""
+" make check -j<N>\n"
+"\n"
+msgstr "C<make check>"
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:90
+msgid ""
+"(eg. C<-j2> for running up to 2 tests in parallel).  Be careful about "
+"running too many parallel tests, as it can slow down each test enough to "
+"cause false failures."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:94
+msgid "RUNNING TEST CASES AGAINST UPSTREAM VIRT-V2V"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:96
+msgid ""
+"Using C<make check> picks up whatever C<virt-v2v> binary is on your C<$PATH>."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:99
+msgid ""
+"If you have compiled libguestfs from source and want to test that version of "
+"virt-v2v, use the libguestfs C<run> script (in the top-level build directory "
+"of the libguestfs sources).  eg:"
+msgstr ""
+
+#. type: verbatim
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:103
 #, fuzzy, no-wrap
 #| msgid ""
 #| " ./localconfigure && make\n"
 #| "\n"
 msgid ""
-" ./configure\n"
-" make\n"
-" make check\n"
+" ../libguestfs/run make check\n"
 "\n"
 msgstr ""
 " ./localconfigure && make\n"
 "\n"
 
 #. type: =head1
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:66
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:105
 msgid "WRITING NEW TEST CASES"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:68
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:107
 msgid ""
 "If you are interested in writing test cases, it is suggested that you start "
 "by downloading the freely redistributable test cases, or at least look at "
@@ -92054,60 +92144,78 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:72
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:111
 msgid ""
-"Also you must install the virt-v2v test harness (the OCaml module: "
-"C<V2v_test_harness>, source in C<libguestfs.git/v2v/test-harness>).  In "
-"Fedora, install the C<virt-v2v-test-harness> package."
+"Also you must have the virt-v2v test harness - see L</GETTING THE TEST "
+"HARNESS> above."
 msgstr ""
 
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:114
+#, fuzzy
+#| msgid "RUNNING UNTRUSTED GUEST COMMANDS"
+msgid "FILES IN EACH TEST CASE"
+msgstr "ЗАПУСК НЕЗАХИЩЕНИХ КОМАНД ГОСТЬОВОЇ СИСТЕМИ"
+
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:76
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:116
 msgid "Each test case consists of:"
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:80
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:120
 #, fuzzy
 #| msgid "test1.img"
 msgid "I<test>.img.xz"
 msgstr "test1.img"
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:82
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:122
 msgid ""
 "The disk image of the virtual machine before conversion.  Usually this "
 "should be converted to raw format and xz-compressed."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:85
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:125
+#, fuzzy
+#| msgid "C<tests>"
+msgid "I<test>.ova"
+msgstr "C<tests>"
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:127
+msgid "Alternatively, an OVA, exported from VMware, may be used."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:129
 #, fuzzy
 #| msgid "C<tests>"
 msgid "I<test>.xml"
 msgstr "C<tests>"
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:87
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:131
 msgid ""
 "The libvirt XML used as input to virt-v2v.  See the discussion of I<-i "
 "libvirtxml> in L<virt-v2v(1)>."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:90
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:134
 #, fuzzy
 #| msgid "C<tests>"
 msgid "I<test>.ppm"
 msgstr "C<tests>"
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:92
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:136
 msgid "An optional screenshot or screenshots."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:94
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:138
 msgid ""
 "You can supply zero or more \"known good\" screenshots which represent "
 "intermediate steps where the guest is booting.  This is useful where a guest "
@@ -92116,42 +92224,56 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:99
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:143
 msgid ""
 "You can supply zero or one \"final\" screenshot.  This is often a screenshot "
 "of the login page which indicates that the guest booted successfully."
 msgstr ""
 
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:147
+msgid ""
+"The screenshots are captured using L<virsh(1)>.  Comparison of screenshots "
+"against the test images is done using the ImageMagick L<compare(1)> program."
+msgstr ""
+
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:103
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:151
 #, fuzzy
 #| msgid "C<tests>"
 msgid "I<test>.ml"
 msgstr "C<tests>"
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:105
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:153
 msgid "The test itself - see below."
 msgstr ""
 
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:157
+#, fuzzy
+#| msgid "RUNNING UNTRUSTED GUEST COMMANDS"
+msgid "WRITING THE TEST"
+msgstr "ЗАПУСК НЕЗАХИЩЕНИХ КОМАНД ГОСТЬОВОЇ СИСТЕМИ"
+
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:109
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:159
 msgid ""
 "The test file (C<*.ml>) is used to control the test harness, and minimally "
 "it would look something like this:"
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:114
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:164
 #, fuzzy, no-wrap
 #| msgid "Set the hostname"
 msgid ""
-" let test = \"short-name\"\n"
+" let test = \"short_name\"\n"
 " \n"
 msgstr "Встановити назву вузла"
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:116
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:166
 #, no-wrap
 msgid ""
 " let () = run ~test ()\n"
@@ -92159,29 +92281,29 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:118
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:168
 msgid "That would instruct the test harness to:"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:124
-msgid "Uncompress C<I<short-name>.img.xz>"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:174
+msgid "Uncompress C<I<short_name>.img.xz>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:128
-msgid "Run C<virt-v2v -i libvirtxml I<short-name>.xml [...]>"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:178
+msgid "Run C<virt-v2v -i libvirtxml I<short_name>.xml [...]>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:132
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:182
 msgid ""
 "Boot the resulting guest and check that it writes to its disk and then the "
 "disk becomes idle."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:137
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:187
 msgid ""
 "The above is a rather simplistic test.  A more realistic test is to ensure "
 "the guest reaches a final milestone (screenshot), eg. a login page.  To do "
@@ -92189,10 +92311,10 @@ msgid ""
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:143
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:193
 #, no-wrap
 msgid ""
-" let test = \"short-name\"\n"
+" let test = \"short_name\"\n"
 " let test_plan = {\n"
 "   default_plan with\n"
 "     boot_plan = Boot_to_screenshot (test ^ \".ppm\")\n"
@@ -92201,7 +92323,7 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:151
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:201
 msgid ""
 "For an even better test, you can supply post-conversion and post-boot test "
 "cases which examine the disk image (using libguestfs) to verify that files "
@@ -92209,56 +92331,126 @@ msgid ""
 "See C<V2v_test_harness.mli> for more information on how to do that."
 msgstr ""
 
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:207
+msgid "FILES GENERATED BY RUNNING THE TEST"
+msgstr ""
+
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:159
-msgid "Note: To find the value of C<$ocamllibdir>, run:"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:209
+#, fuzzy
+#| msgid "On Linux the following files are removed:"
+msgid "When you run each test, the following files can be created:"
+msgstr "У Linux вилучено такі файли:"
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:213
+msgid "I<test>-I<yyyymmdd-hhmmss>.scrn"
 msgstr ""
 
-#. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:161
-#, no-wrap
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:215
 msgid ""
-" ocamlc -where\n"
-"\n"
+"Screenshot(s) of the guest's graphical console.  These are helpful when "
+"writing tests or debugging test failures."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:218
+msgid "The screenshot format is Portable Pixmap (PPM)."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:220
+#, fuzzy
+#| msgid "test1.img"
+msgid "I<test>.img"
+msgstr "test1.img"
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:222
+msgid "The uncompressed original disk image (before conversion)."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:224
+msgid "I<test>-converted-sda"
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:226
+#, fuzzy
+#| msgid "C<tests>"
+msgid "I<test>-converted.xml"
+msgstr "C<tests>"
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:228
+msgid ""
+"The result of conversion, ie. after running virt-v2v but before test-booting "
+"the guest.  See the L<virt-v2v(1)> manual page description of I<-o local>."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:232
+msgid "The disk image format is qcow2."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:165
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:234
+msgid "I<test>-booted-sda"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:236
+msgid ""
+"The disk image after test-booting.  This is a qcow2 file which uses the "
+"I<test>-converted-sda file as a backing disk, in order to save disk space."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:246
 msgid "C<$ocamllibdir/v2v_test_harness/v2v_test_harness.mli>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:167
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:248
 msgid ""
 "The test library interface.  Read this for detailed programming "
 "documentation."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:170
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:251
 msgid "C<$ocamllibdir/v2v_test_harness/META>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:172
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:253
 msgid ""
 "The findlib META file allowing you to use the library from L<ocamlfind(1)>."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:179
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:258
+msgid "NB: To find the value of C<$ocamllibdir>, run C<ocamlc -where>"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:262
 #, fuzzy
 #| msgid ""
 #| "L<virt-p2v(1)>, L<virt-p2v-make-kickstart(1)>, L<virt-v2v(1)>, L<http://"
 #| "libguestfs.org/>."
 msgid ""
-"L<virt-v2v(1)>, L<virt-p2v(1)>, L<guestfs(3)>, L<http://libguestfs.org/>."
+"L<virt-v2v(1)>, L<virt-p2v(1)>, L<guestfs(3)>, L<virsh(1)>, L<compare(1)>, "
+"L<git-annex(1)>, L<http://libguestfs.org/>."
 msgstr ""
 "L<virt-p2v(1)>, L<virt-p2v-make-kickstart(1)>, L<virt-v2v(1)>, L<http://"
 "libguestfs.org/>."
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:190
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:276
 #, fuzzy
 msgid "Copyright (C) 2014-2015 Red Hat Inc."
 msgstr "© Red Hat Inc., 2010–2012"
@@ -95228,19 +95420,29 @@ msgstr "Shahar Havivi"
 #~ msgid ""
 #~ " $ annotate-output +'%T.%N' guestfish -a /dev/null run -v\n"
 #~ " 22:17:53.215784625 I: Started guestfish -a /dev/null run -v\n"
-#~ " 22:17:53.240335409 E: libguestfs: [00000ms] supermin-helper --verbose -f checksum '/usr/lib64/guestfs/supermin.d' x86_64\n"
-#~ " 22:17:53.266857866 E: supermin helper [00000ms] whitelist = (not specified), host_cpu = x86_64, kernel = (null), initrd = (null), appliance = (null)\n"
-#~ " 22:17:53.272704072 E: supermin helper [00000ms] inputs[0] = /usr/lib64/guestfs/supermin.d\n"
-#~ " 22:17:53.276528651 E: checking modpath /lib/modules/3.4.0-1.fc17.x86_64.debug is a directory\n"
+#~ " 22:17:53.240335409 E: libguestfs: [00000ms] supermin-helper --verbose -f "
+#~ "checksum '/usr/lib64/guestfs/supermin.d' x86_64\n"
+#~ " 22:17:53.266857866 E: supermin helper [00000ms] whitelist = (not "
+#~ "specified), host_cpu = x86_64, kernel = (null), initrd = (null), "
+#~ "appliance = (null)\n"
+#~ " 22:17:53.272704072 E: supermin helper [00000ms] inputs[0] = /usr/lib64/"
+#~ "guestfs/supermin.d\n"
+#~ " 22:17:53.276528651 E: checking modpath /lib/modules/3.4.0-1.fc17.x86_64."
+#~ "debug is a directory\n"
 #~ " [etc]\n"
 #~ "\n"
 #~ msgstr ""
 #~ " $ annotate-output +'%T.%N' guestfish -a /dev/null run -v\n"
 #~ " 22:17:53.215784625 I: Started guestfish -a /dev/null run -v\n"
-#~ " 22:17:53.240335409 E: libguestfs: [00000ms] supermin-helper --verbose -f checksum '/usr/lib64/guestfs/supermin.d' x86_64\n"
-#~ " 22:17:53.266857866 E: supermin helper [00000ms] whitelist = (not specified), host_cpu = x86_64, kernel = (null), initrd = (null), appliance = (null)\n"
-#~ " 22:17:53.272704072 E: supermin helper [00000ms] inputs[0] = /usr/lib64/guestfs/supermin.d\n"
-#~ " 22:17:53.276528651 E: checking modpath /lib/modules/3.4.0-1.fc17.x86_64.debug is a directory\n"
+#~ " 22:17:53.240335409 E: libguestfs: [00000ms] supermin-helper --verbose -f "
+#~ "checksum '/usr/lib64/guestfs/supermin.d' x86_64\n"
+#~ " 22:17:53.266857866 E: supermin helper [00000ms] whitelist = (not "
+#~ "specified), host_cpu = x86_64, kernel = (null), initrd = (null), "
+#~ "appliance = (null)\n"
+#~ " 22:17:53.272704072 E: supermin helper [00000ms] inputs[0] = /usr/lib64/"
+#~ "guestfs/supermin.d\n"
+#~ " 22:17:53.276528651 E: checking modpath /lib/modules/3.4.0-1.fc17.x86_64."
+#~ "debug is a directory\n"
 #~ " [etc]\n"
 #~ "\n"
 
diff --git a/po-docs/zh_CN.po b/po-docs/zh_CN.po
index 683779b..410e365 100644
--- a/po-docs/zh_CN.po
+++ b/po-docs/zh_CN.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: libguestfs 1.29.26\n"
 "Report-Msgid-Bugs-To: libguestfs at redhat.com\n"
-"POT-Creation-Date: 2015-04-01 10:05+0100\n"
+"POT-Creation-Date: 2015-04-10 13:46+0100\n"
 "PO-Revision-Date: 2014-10-18 04:01-0400\n"
 "Last-Translator: rjones <rjones at redhat.com>\n"
 "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/"
@@ -1241,9 +1241,9 @@ msgstr ""
 #: ../sysprep/virt-sysprep.pod:414 ../tools/virt-win-reg:194
 #: ../tools/virt-win-reg:199 ../tools/virt-win-reg:205
 #: ../tools/virt-win-reg:754 ../tools/virt-win-reg:760
-#: ../tools/virt-win-reg:766 ../v2v/test-harness/virt-v2v-test-harness.pod:122
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:126
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:130 ../v2v/virt-v2v.pod:598
+#: ../tools/virt-win-reg:766 ../v2v/test-harness/virt-v2v-test-harness.pod:172
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:176
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:180 ../v2v/virt-v2v.pod:598
 #: ../v2v/virt-v2v.pod:603 ../v2v/virt-v2v.pod:608 ../v2v/virt-v2v.pod:612
 #: ../v2v/virt-v2v.pod:756 ../v2v/virt-v2v.pod:761 ../v2v/virt-v2v.pod:772
 #: ../v2v/virt-v2v.pod:784 ../v2v/virt-v2v.pod:790 ../v2v/virt-v2v.pod:795
@@ -1328,7 +1328,7 @@ msgstr ""
 #: ../sysprep/virt-sysprep.pod:559 ../test-tool/libguestfs-test-tool.pod:178
 #: ../tools/virt-list-filesystems:181 ../tools/virt-list-partitions:263
 #: ../tools/virt-tar:292 ../tools/virt-win-reg:785
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:177 ../v2v/virt-v2v.pod:1513
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:260 ../v2v/virt-v2v.pod:1513
 msgid "SEE ALSO"
 msgstr ""
 
@@ -1366,7 +1366,7 @@ msgstr ""
 #: ../resize/virt-resize.pod:781 ../sparsify/virt-sparsify.pod:454
 #: ../sysprep/virt-sysprep.pod:578 ../tools/virt-list-filesystems:195
 #: ../tools/virt-list-partitions:276 ../tools/virt-tar:308
-#: ../tools/virt-win-reg:801 ../v2v/test-harness/virt-v2v-test-harness.pod:186
+#: ../tools/virt-win-reg:801 ../v2v/test-harness/virt-v2v-test-harness.pod:272
 #: ../v2v/virt-v2v.pod:1530
 msgid "Richard W.M. Jones L<http://people.redhat.com/~rjones/>"
 msgstr ""
@@ -1399,7 +1399,7 @@ msgstr ""
 #: ../sysprep/virt-sysprep.pod:582 ../test-tool/libguestfs-test-tool.pod:188
 #: ../tools/virt-list-filesystems:197 ../tools/virt-list-partitions:278
 #: ../tools/virt-tar:310 ../tools/virt-win-reg:803
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:188 ../v2v/virt-v2v.pod:1540
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:274 ../v2v/virt-v2v.pod:1540
 msgid "COPYRIGHT"
 msgstr ""
 
@@ -1729,7 +1729,7 @@ msgstr ""
 #: ../python/examples/guestfs-python.pod:65
 #: ../ruby/examples/guestfs-ruby.pod:48 ../src/guestfs.pod:4847
 #: ../sysprep/virt-sysprep.pod:576 ../test-tool/libguestfs-test-tool.pod:184
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:184 ../v2v/virt-v2v.pod:1528
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:270 ../v2v/virt-v2v.pod:1528
 msgid "AUTHORS"
 msgstr ""
 
@@ -8550,7 +8550,7 @@ msgstr ""
 #: ../daemon/guestfsd.pod:76 ../fish/guestfish.pod:1531
 #: ../fuse/guestmount.pod:404 ../p2v/virt-p2v-make-disk.pod:72
 #: ../p2v/virt-p2v-make-kickstart.pod:162 ../rescue/virt-rescue.pod:393
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:157 ../v2v/virt-v2v.pod:1443
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:242 ../v2v/virt-v2v.pod:1443
 msgid "FILES"
 msgstr ""
 
@@ -84458,8 +84458,8 @@ msgstr ""
 
 #. type: verbatim
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:7
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:112
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:141
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:162
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:191
 #, no-wrap
 msgid ""
 " open V2v_test_harness\n"
@@ -84470,17 +84470,17 @@ msgstr ""
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:9
 #, no-wrap
 msgid ""
-" let test = \"rhel45-i386-fv\"\n"
+" let test = \"rhel_45_i386_fv\"\n"
 " let test_plan = {\n"
 "   default_plan with\n"
-"     boot_plan = Boot_to_screenshot (test ^ \".ppm\")\n"
+"     boot_plan = Boot_to_screenshot (test ^ \"-login.ppm\")\n"
 " }\n"
 " \n"
 msgstr ""
 
 #. type: verbatim
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:15
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:149
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:199
 #, no-wrap
 msgid ""
 " let () = run ~test ~test_plan ()\n"
@@ -84531,62 +84531,149 @@ msgstr ""
 #. type: textblock
 #: ../v2v/test-harness/virt-v2v-test-harness.pod:42
 msgid ""
-"The freely redistributable test cases can be downloaded from: I<B<Download "
-"location TBD>>"
+"The freely redistributable test cases can be downloaded from: L<http://git."
+"annexia.org/?p=virt-v2v-test-cases-free.git> I<B<not available yet>>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:45
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:46
 msgid ""
-"The proprietary test cases are not made available to the public, for obvious "
-"licensing reasons."
+"The proprietary test cases are available at L<http://git.annexia.org/?p=virt-"
+"v2v-test-cases-nonfree.git> This I<does not> contain the proprietary images "
+"themselves, which are not made available to the public for licensing reasons."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:48
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:51
 msgid ""
 "The test cases consist of disk images which are very large, from 250 MB "
 "through to tens of gigabytes I<each>.  This means that distributing test "
-"cases can be very time-consuming and expensive."
+"cases can be very time-consuming and expensive.  We use L<git-annex(1)> to "
+"distribute the test images."
 msgstr ""
 
 #. type: =head2
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:52
-msgid "RUNNING THE TEST CASES"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:56
+msgid "REQUIREMENTS"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:54
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:58
 msgid ""
-"To run the test cases you must install the virt-v2v test harness (the OCaml "
-"module: C<V2v_test_harness>, source in C<libguestfs.git/v2v/test-harness>).  "
-"In Fedora, install the C<virt-v2v-test-harness> package."
+"It's recommended to use an idle machine for testing.  You will need B<a lot "
+"of disk space> to run the tests, in excess of S<100 GB>.  You should also "
+"ensure the test machine has plenty of RAM, at least S<16 GB>."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:63
+msgid "GETTING THE TEST HARNESS"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:65
+msgid "To run the test cases you must have the virt-v2v test harness."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:67
+msgid "The OCaml module is C<V2v_test_harness>."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:69
+msgid ""
+"The easiest way is to compile libguestfs from source (I<note> do not install "
+"it).  The test harness will be in C<libguestfs/v2v/test-harness>"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:73
+msgid "It is also possible to install test harness as an OCaml module."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:75
+msgid "RUNNING THE TEST CASES"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:59
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:77
 msgid ""
 "Once you have checked out the freely redistributed test cases from the "
 "repository, do:"
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:62
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:80
 #, no-wrap
 msgid ""
-" ./configure\n"
+" ./configure [--with-test-harness=/path/to/libguestfs/v2v/test-harness]\n"
 " make\n"
 " make check\n"
 "\n"
 msgstr ""
 
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:84
+msgid "PARALLEL TESTS"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:86
+msgid "You can run test cases in parallel by doing:"
+msgstr ""
+
+#. type: verbatim
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:88
+#, no-wrap
+msgid ""
+" make check -j<N>\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:90
+msgid ""
+"(eg. C<-j2> for running up to 2 tests in parallel).  Be careful about "
+"running too many parallel tests, as it can slow down each test enough to "
+"cause false failures."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:94
+msgid "RUNNING TEST CASES AGAINST UPSTREAM VIRT-V2V"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:96
+msgid ""
+"Using C<make check> picks up whatever C<virt-v2v> binary is on your C<$PATH>."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:99
+msgid ""
+"If you have compiled libguestfs from source and want to test that version of "
+"virt-v2v, use the libguestfs C<run> script (in the top-level build directory "
+"of the libguestfs sources).  eg:"
+msgstr ""
+
+#. type: verbatim
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:103
+#, no-wrap
+msgid ""
+" ../libguestfs/run make check\n"
+"\n"
+msgstr ""
+
 #. type: =head1
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:66
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:105
 msgid "WRITING NEW TEST CASES"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:68
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:107
 msgid ""
 "If you are interested in writing test cases, it is suggested that you start "
 "by downloading the freely redistributable test cases, or at least look at "
@@ -84594,54 +84681,68 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:72
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:111
 msgid ""
-"Also you must install the virt-v2v test harness (the OCaml module: "
-"C<V2v_test_harness>, source in C<libguestfs.git/v2v/test-harness>).  In "
-"Fedora, install the C<virt-v2v-test-harness> package."
+"Also you must have the virt-v2v test harness - see L</GETTING THE TEST "
+"HARNESS> above."
+msgstr ""
+
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:114
+msgid "FILES IN EACH TEST CASE"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:76
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:116
 msgid "Each test case consists of:"
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:80
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:120
 msgid "I<test>.img.xz"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:82
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:122
 msgid ""
 "The disk image of the virtual machine before conversion.  Usually this "
 "should be converted to raw format and xz-compressed."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:85
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:125
+msgid "I<test>.ova"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:127
+msgid "Alternatively, an OVA, exported from VMware, may be used."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:129
 msgid "I<test>.xml"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:87
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:131
 msgid ""
 "The libvirt XML used as input to virt-v2v.  See the discussion of I<-i "
 "libvirtxml> in L<virt-v2v(1)>."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:90
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:134
 msgid "I<test>.ppm"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:92
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:136
 msgid "An optional screenshot or screenshots."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:94
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:138
 msgid ""
 "You can supply zero or more \"known good\" screenshots which represent "
 "intermediate steps where the guest is booting.  This is useful where a guest "
@@ -84650,39 +84751,51 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:99
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:143
 msgid ""
 "You can supply zero or one \"final\" screenshot.  This is often a screenshot "
 "of the login page which indicates that the guest booted successfully."
 msgstr ""
 
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:147
+msgid ""
+"The screenshots are captured using L<virsh(1)>.  Comparison of screenshots "
+"against the test images is done using the ImageMagick L<compare(1)> program."
+msgstr ""
+
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:103
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:151
 msgid "I<test>.ml"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:105
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:153
 msgid "The test itself - see below."
 msgstr ""
 
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:157
+msgid "WRITING THE TEST"
+msgstr ""
+
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:109
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:159
 msgid ""
 "The test file (C<*.ml>) is used to control the test harness, and minimally "
 "it would look something like this:"
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:114
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:164
 #, no-wrap
 msgid ""
-" let test = \"short-name\"\n"
+" let test = \"short_name\"\n"
 " \n"
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:116
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:166
 #, no-wrap
 msgid ""
 " let () = run ~test ()\n"
@@ -84690,29 +84803,29 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:118
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:168
 msgid "That would instruct the test harness to:"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:124
-msgid "Uncompress C<I<short-name>.img.xz>"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:174
+msgid "Uncompress C<I<short_name>.img.xz>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:128
-msgid "Run C<virt-v2v -i libvirtxml I<short-name>.xml [...]>"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:178
+msgid "Run C<virt-v2v -i libvirtxml I<short_name>.xml [...]>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:132
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:182
 msgid ""
 "Boot the resulting guest and check that it writes to its disk and then the "
 "disk becomes idle."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:137
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:187
 msgid ""
 "The above is a rather simplistic test.  A more realistic test is to ensure "
 "the guest reaches a final milestone (screenshot), eg. a login page.  To do "
@@ -84720,10 +84833,10 @@ msgid ""
 msgstr ""
 
 #. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:143
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:193
 #, no-wrap
 msgid ""
-" let test = \"short-name\"\n"
+" let test = \"short_name\"\n"
 " let test_plan = {\n"
 "   default_plan with\n"
 "     boot_plan = Boot_to_screenshot (test ^ \".ppm\")\n"
@@ -84732,7 +84845,7 @@ msgid ""
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:151
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:201
 msgid ""
 "For an even better test, you can supply post-conversion and post-boot test "
 "cases which examine the disk image (using libguestfs) to verify that files "
@@ -84740,50 +84853,114 @@ msgid ""
 "See C<V2v_test_harness.mli> for more information on how to do that."
 msgstr ""
 
+#. type: =head2
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:207
+msgid "FILES GENERATED BY RUNNING THE TEST"
+msgstr ""
+
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:159
-msgid "Note: To find the value of C<$ocamllibdir>, run:"
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:209
+msgid "When you run each test, the following files can be created:"
 msgstr ""
 
-#. type: verbatim
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:161
-#, no-wrap
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:213
+msgid "I<test>-I<yyyymmdd-hhmmss>.scrn"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:215
 msgid ""
-" ocamlc -where\n"
-"\n"
+"Screenshot(s) of the guest's graphical console.  These are helpful when "
+"writing tests or debugging test failures."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:218
+msgid "The screenshot format is Portable Pixmap (PPM)."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:165
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:220
+msgid "I<test>.img"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:222
+msgid "The uncompressed original disk image (before conversion)."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:224
+msgid "I<test>-converted-sda"
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:226
+msgid "I<test>-converted.xml"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:228
+msgid ""
+"The result of conversion, ie. after running virt-v2v but before test-booting "
+"the guest.  See the L<virt-v2v(1)> manual page description of I<-o local>."
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:232
+msgid "The disk image format is qcow2."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:234
+msgid "I<test>-booted-sda"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:236
+msgid ""
+"The disk image after test-booting.  This is a qcow2 file which uses the "
+"I<test>-converted-sda file as a backing disk, in order to save disk space."
+msgstr ""
+
+#. type: =item
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:246
 msgid "C<$ocamllibdir/v2v_test_harness/v2v_test_harness.mli>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:167
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:248
 msgid ""
 "The test library interface.  Read this for detailed programming "
 "documentation."
 msgstr ""
 
 #. type: =item
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:170
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:251
 msgid "C<$ocamllibdir/v2v_test_harness/META>"
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:172
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:253
 msgid ""
 "The findlib META file allowing you to use the library from L<ocamlfind(1)>."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:179
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:258
+msgid "NB: To find the value of C<$ocamllibdir>, run C<ocamlc -where>"
+msgstr ""
+
+#. type: textblock
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:262
 msgid ""
-"L<virt-v2v(1)>, L<virt-p2v(1)>, L<guestfs(3)>, L<http://libguestfs.org/>."
+"L<virt-v2v(1)>, L<virt-p2v(1)>, L<guestfs(3)>, L<virsh(1)>, L<compare(1)>, "
+"L<git-annex(1)>, L<http://libguestfs.org/>."
 msgstr ""
 
 #. type: textblock
-#: ../v2v/test-harness/virt-v2v-test-harness.pod:190
+#: ../v2v/test-harness/virt-v2v-test-harness.pod:276
 msgid "Copyright (C) 2014-2015 Red Hat Inc."
 msgstr ""
 
diff --git a/po/de.po b/po/de.po
index 3f55d7a..3c2c9b8 100644
--- a/po/de.po
+++ b/po/de.po
@@ -11,7 +11,7 @@ msgstr ""
 "Project-Id-Version: libguestfs 1.29.26\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2015-04-01 10:05+0100\n"
+"POT-Creation-Date: 2015-04-10 13:46+0100\n"
 "PO-Revision-Date: 2015-01-10 08:39-0500\n"
 "Last-Translator: Mario Blättermann <mario.blaettermann at gmail.com>\n"
 "Language-Team: German (http://www.transifex.com/projects/p/libguestfs/"
@@ -2259,6 +2259,15 @@ msgstr ""
 msgid "cannot detect the input disk format; use the -if parameter"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:436
+msgid "cannot find HKLM\\SYSTEM\\%s in the guest registry"
+msgstr ""
+
+#: ../v2v/convert_windows.ml:422
+msgid ""
+"cannot find HKLM\\SYSTEM\\DriverDatabase\\DeviceIds\\%s in the guest registry"
+msgstr ""
+
 #: ../builder/builder.ml:236
 msgid ""
 "cannot find os-version '%s' with architecture '%s'.\n"
@@ -2348,7 +2357,7 @@ msgstr ""
 msgid "could not find cache directory. Is $HOME set?"
 msgstr ""
 
-#: ../v2v/convert_windows.ml:430
+#: ../v2v/convert_windows.ml:629
 msgid ""
 "could not find registry key HKLM\\SOFTWARE\\Microsoft\\Windows"
 "\\CurrentVersion"
@@ -2409,13 +2418,13 @@ msgstr ""
 msgid "curl is not installed (or does not work)"
 msgstr ""
 
-#: ../mllib/regedit.ml:55
+#: ../mllib/regedit.ml:56
 msgid ""
 "decode_utf16le: Windows UTF16-LE string contains non-7-bit characters.  This "
 "is a bug in %s, please report it."
 msgstr ""
 
-#: ../mllib/regedit.ml:49
+#: ../mllib/regedit.ml:50
 msgid ""
 "decode_utf16le: Windows string does not appear to be in UTF16-LE encoding.  "
 "This could be a bug in %s."
@@ -3305,6 +3314,10 @@ msgstr ""
 msgid "virt-v2v is unable to convert this guest type (%s/%s)"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:404
+msgid "when adding viostor to the DriverDatabase, unknown architecture: %s"
+msgstr ""
+
 #: ../resize/resize.ml:149
 msgid "xfs_growfs"
 msgstr ""
diff --git a/po/en_GB.po b/po/en_GB.po
index db93fc3..735cccf 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: libguestfs 1.29.26\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2015-04-01 10:05+0100\n"
+"POT-Creation-Date: 2015-04-10 13:46+0100\n"
 "PO-Revision-Date: 2014-10-18 04:00-0400\n"
 "Last-Translator: rjones <rjones at redhat.com>\n"
 "Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/"
@@ -2249,6 +2249,15 @@ msgstr ""
 msgid "cannot detect the input disk format; use the -if parameter"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:436
+msgid "cannot find HKLM\\SYSTEM\\%s in the guest registry"
+msgstr ""
+
+#: ../v2v/convert_windows.ml:422
+msgid ""
+"cannot find HKLM\\SYSTEM\\DriverDatabase\\DeviceIds\\%s in the guest registry"
+msgstr ""
+
 #: ../builder/builder.ml:236
 msgid ""
 "cannot find os-version '%s' with architecture '%s'.\n"
@@ -2338,7 +2347,7 @@ msgstr ""
 msgid "could not find cache directory. Is $HOME set?"
 msgstr ""
 
-#: ../v2v/convert_windows.ml:430
+#: ../v2v/convert_windows.ml:629
 msgid ""
 "could not find registry key HKLM\\SOFTWARE\\Microsoft\\Windows"
 "\\CurrentVersion"
@@ -2399,13 +2408,13 @@ msgstr ""
 msgid "curl is not installed (or does not work)"
 msgstr ""
 
-#: ../mllib/regedit.ml:55
+#: ../mllib/regedit.ml:56
 msgid ""
 "decode_utf16le: Windows UTF16-LE string contains non-7-bit characters.  This "
 "is a bug in %s, please report it."
 msgstr ""
 
-#: ../mllib/regedit.ml:49
+#: ../mllib/regedit.ml:50
 msgid ""
 "decode_utf16le: Windows string does not appear to be in UTF16-LE encoding.  "
 "This could be a bug in %s."
@@ -3295,6 +3304,10 @@ msgstr ""
 msgid "virt-v2v is unable to convert this guest type (%s/%s)"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:404
+msgid "when adding viostor to the DriverDatabase, unknown architecture: %s"
+msgstr ""
+
 #: ../resize/resize.ml:149
 msgid "xfs_growfs"
 msgstr ""
diff --git a/po/es.po b/po/es.po
index 72f651f..39b0939 100644
--- a/po/es.po
+++ b/po/es.po
@@ -11,7 +11,7 @@ msgstr ""
 "Project-Id-Version: libguestfs 1.29.26\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2015-04-01 10:05+0100\n"
+"POT-Creation-Date: 2015-04-10 13:46+0100\n"
 "PO-Revision-Date: 2014-10-18 04:00-0400\n"
 "Last-Translator: rjones <rjones at redhat.com>\n"
 "Language-Team: Spanish (http://www.transifex.com/projects/p/libguestfs/"
@@ -2251,6 +2251,15 @@ msgstr ""
 msgid "cannot detect the input disk format; use the -if parameter"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:436
+msgid "cannot find HKLM\\SYSTEM\\%s in the guest registry"
+msgstr ""
+
+#: ../v2v/convert_windows.ml:422
+msgid ""
+"cannot find HKLM\\SYSTEM\\DriverDatabase\\DeviceIds\\%s in the guest registry"
+msgstr ""
+
 #: ../builder/builder.ml:236
 msgid ""
 "cannot find os-version '%s' with architecture '%s'.\n"
@@ -2340,7 +2349,7 @@ msgstr ""
 msgid "could not find cache directory. Is $HOME set?"
 msgstr ""
 
-#: ../v2v/convert_windows.ml:430
+#: ../v2v/convert_windows.ml:629
 msgid ""
 "could not find registry key HKLM\\SOFTWARE\\Microsoft\\Windows"
 "\\CurrentVersion"
@@ -2401,13 +2410,13 @@ msgstr ""
 msgid "curl is not installed (or does not work)"
 msgstr ""
 
-#: ../mllib/regedit.ml:55
+#: ../mllib/regedit.ml:56
 msgid ""
 "decode_utf16le: Windows UTF16-LE string contains non-7-bit characters.  This "
 "is a bug in %s, please report it."
 msgstr ""
 
-#: ../mllib/regedit.ml:49
+#: ../mllib/regedit.ml:50
 msgid ""
 "decode_utf16le: Windows string does not appear to be in UTF16-LE encoding.  "
 "This could be a bug in %s."
@@ -3297,6 +3306,10 @@ msgstr ""
 msgid "virt-v2v is unable to convert this guest type (%s/%s)"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:404
+msgid "when adding viostor to the DriverDatabase, unknown architecture: %s"
+msgstr ""
+
 #: ../resize/resize.ml:149
 msgid "xfs_growfs"
 msgstr ""
diff --git a/po/eu.po b/po/eu.po
index bc6198f..f33225b 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: libguestfs 1.29.26\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2015-04-01 10:05+0100\n"
+"POT-Creation-Date: 2015-04-10 13:46+0100\n"
 "PO-Revision-Date: 2014-10-18 04:00-0400\n"
 "Last-Translator: rjones <rjones at redhat.com>\n"
 "Language-Team: Basque (http://www.transifex.com/projects/p/libguestfs/"
@@ -2249,6 +2249,15 @@ msgstr ""
 msgid "cannot detect the input disk format; use the -if parameter"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:436
+msgid "cannot find HKLM\\SYSTEM\\%s in the guest registry"
+msgstr ""
+
+#: ../v2v/convert_windows.ml:422
+msgid ""
+"cannot find HKLM\\SYSTEM\\DriverDatabase\\DeviceIds\\%s in the guest registry"
+msgstr ""
+
 #: ../builder/builder.ml:236
 msgid ""
 "cannot find os-version '%s' with architecture '%s'.\n"
@@ -2338,7 +2347,7 @@ msgstr ""
 msgid "could not find cache directory. Is $HOME set?"
 msgstr ""
 
-#: ../v2v/convert_windows.ml:430
+#: ../v2v/convert_windows.ml:629
 msgid ""
 "could not find registry key HKLM\\SOFTWARE\\Microsoft\\Windows"
 "\\CurrentVersion"
@@ -2399,13 +2408,13 @@ msgstr ""
 msgid "curl is not installed (or does not work)"
 msgstr ""
 
-#: ../mllib/regedit.ml:55
+#: ../mllib/regedit.ml:56
 msgid ""
 "decode_utf16le: Windows UTF16-LE string contains non-7-bit characters.  This "
 "is a bug in %s, please report it."
 msgstr ""
 
-#: ../mllib/regedit.ml:49
+#: ../mllib/regedit.ml:50
 msgid ""
 "decode_utf16le: Windows string does not appear to be in UTF16-LE encoding.  "
 "This could be a bug in %s."
@@ -3295,6 +3304,10 @@ msgstr ""
 msgid "virt-v2v is unable to convert this guest type (%s/%s)"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:404
+msgid "when adding viostor to the DriverDatabase, unknown architecture: %s"
+msgstr ""
+
 #: ../resize/resize.ml:149
 msgid "xfs_growfs"
 msgstr ""
diff --git a/po/fr.po b/po/fr.po
index 24fe142..bc604ff 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -12,7 +12,7 @@ msgstr ""
 "Project-Id-Version: libguestfs 1.29.26\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2015-04-01 10:05+0100\n"
+"POT-Creation-Date: 2015-04-10 13:46+0100\n"
 "PO-Revision-Date: 2014-10-18 04:00-0400\n"
 "Last-Translator: rjones <rjones at redhat.com>\n"
 "Language-Team: French (http://www.transifex.com/projects/p/libguestfs/"
@@ -2252,6 +2252,15 @@ msgstr ""
 msgid "cannot detect the input disk format; use the -if parameter"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:436
+msgid "cannot find HKLM\\SYSTEM\\%s in the guest registry"
+msgstr ""
+
+#: ../v2v/convert_windows.ml:422
+msgid ""
+"cannot find HKLM\\SYSTEM\\DriverDatabase\\DeviceIds\\%s in the guest registry"
+msgstr ""
+
 #: ../builder/builder.ml:236
 msgid ""
 "cannot find os-version '%s' with architecture '%s'.\n"
@@ -2341,7 +2350,7 @@ msgstr ""
 msgid "could not find cache directory. Is $HOME set?"
 msgstr ""
 
-#: ../v2v/convert_windows.ml:430
+#: ../v2v/convert_windows.ml:629
 msgid ""
 "could not find registry key HKLM\\SOFTWARE\\Microsoft\\Windows"
 "\\CurrentVersion"
@@ -2402,13 +2411,13 @@ msgstr ""
 msgid "curl is not installed (or does not work)"
 msgstr ""
 
-#: ../mllib/regedit.ml:55
+#: ../mllib/regedit.ml:56
 msgid ""
 "decode_utf16le: Windows UTF16-LE string contains non-7-bit characters.  This "
 "is a bug in %s, please report it."
 msgstr ""
 
-#: ../mllib/regedit.ml:49
+#: ../mllib/regedit.ml:50
 msgid ""
 "decode_utf16le: Windows string does not appear to be in UTF16-LE encoding.  "
 "This could be a bug in %s."
@@ -3298,6 +3307,10 @@ msgstr ""
 msgid "virt-v2v is unable to convert this guest type (%s/%s)"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:404
+msgid "when adding viostor to the DriverDatabase, unknown architecture: %s"
+msgstr ""
+
 #: ../resize/resize.ml:149
 msgid "xfs_growfs"
 msgstr ""
diff --git a/po/gu.po b/po/gu.po
index ad992e2..b9646e5 100644
--- a/po/gu.po
+++ b/po/gu.po
@@ -10,7 +10,7 @@ msgstr ""
 "Project-Id-Version: libguestfs 1.29.26\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2015-04-01 10:05+0100\n"
+"POT-Creation-Date: 2015-04-10 13:46+0100\n"
 "PO-Revision-Date: 2014-10-18 04:00-0400\n"
 "Last-Translator: rjones <rjones at redhat.com>\n"
 "Language-Team: Gujarati (http://www.transifex.com/projects/p/libguestfs/"
@@ -2250,6 +2250,15 @@ msgstr ""
 msgid "cannot detect the input disk format; use the -if parameter"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:436
+msgid "cannot find HKLM\\SYSTEM\\%s in the guest registry"
+msgstr ""
+
+#: ../v2v/convert_windows.ml:422
+msgid ""
+"cannot find HKLM\\SYSTEM\\DriverDatabase\\DeviceIds\\%s in the guest registry"
+msgstr ""
+
 #: ../builder/builder.ml:236
 msgid ""
 "cannot find os-version '%s' with architecture '%s'.\n"
@@ -2339,7 +2348,7 @@ msgstr ""
 msgid "could not find cache directory. Is $HOME set?"
 msgstr ""
 
-#: ../v2v/convert_windows.ml:430
+#: ../v2v/convert_windows.ml:629
 msgid ""
 "could not find registry key HKLM\\SOFTWARE\\Microsoft\\Windows"
 "\\CurrentVersion"
@@ -2400,13 +2409,13 @@ msgstr ""
 msgid "curl is not installed (or does not work)"
 msgstr ""
 
-#: ../mllib/regedit.ml:55
+#: ../mllib/regedit.ml:56
 msgid ""
 "decode_utf16le: Windows UTF16-LE string contains non-7-bit characters.  This "
 "is a bug in %s, please report it."
 msgstr ""
 
-#: ../mllib/regedit.ml:49
+#: ../mllib/regedit.ml:50
 msgid ""
 "decode_utf16le: Windows string does not appear to be in UTF16-LE encoding.  "
 "This could be a bug in %s."
@@ -3296,6 +3305,10 @@ msgstr ""
 msgid "virt-v2v is unable to convert this guest type (%s/%s)"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:404
+msgid "when adding viostor to the DriverDatabase, unknown architecture: %s"
+msgstr ""
+
 #: ../resize/resize.ml:149
 msgid "xfs_growfs"
 msgstr ""
diff --git a/po/hi.po b/po/hi.po
index d9f7e9f..1efeae8 100644
--- a/po/hi.po
+++ b/po/hi.po
@@ -10,7 +10,7 @@ msgstr ""
 "Project-Id-Version: libguestfs 1.29.26\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2015-04-01 10:05+0100\n"
+"POT-Creation-Date: 2015-04-10 13:46+0100\n"
 "PO-Revision-Date: 2014-10-18 04:00-0400\n"
 "Last-Translator: rjones <rjones at redhat.com>\n"
 "Language-Team: Hindi (http://www.transifex.com/projects/p/libguestfs/"
@@ -2250,6 +2250,15 @@ msgstr ""
 msgid "cannot detect the input disk format; use the -if parameter"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:436
+msgid "cannot find HKLM\\SYSTEM\\%s in the guest registry"
+msgstr ""
+
+#: ../v2v/convert_windows.ml:422
+msgid ""
+"cannot find HKLM\\SYSTEM\\DriverDatabase\\DeviceIds\\%s in the guest registry"
+msgstr ""
+
 #: ../builder/builder.ml:236
 msgid ""
 "cannot find os-version '%s' with architecture '%s'.\n"
@@ -2339,7 +2348,7 @@ msgstr ""
 msgid "could not find cache directory. Is $HOME set?"
 msgstr ""
 
-#: ../v2v/convert_windows.ml:430
+#: ../v2v/convert_windows.ml:629
 msgid ""
 "could not find registry key HKLM\\SOFTWARE\\Microsoft\\Windows"
 "\\CurrentVersion"
@@ -2400,13 +2409,13 @@ msgstr ""
 msgid "curl is not installed (or does not work)"
 msgstr ""
 
-#: ../mllib/regedit.ml:55
+#: ../mllib/regedit.ml:56
 msgid ""
 "decode_utf16le: Windows UTF16-LE string contains non-7-bit characters.  This "
 "is a bug in %s, please report it."
 msgstr ""
 
-#: ../mllib/regedit.ml:49
+#: ../mllib/regedit.ml:50
 msgid ""
 "decode_utf16le: Windows string does not appear to be in UTF16-LE encoding.  "
 "This could be a bug in %s."
@@ -3296,6 +3305,10 @@ msgstr ""
 msgid "virt-v2v is unable to convert this guest type (%s/%s)"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:404
+msgid "when adding viostor to the DriverDatabase, unknown architecture: %s"
+msgstr ""
+
 #: ../resize/resize.ml:149
 msgid "xfs_growfs"
 msgstr ""
diff --git a/po/ja.po b/po/ja.po
index 07a6cf9..e77de54 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -10,7 +10,7 @@ msgstr ""
 "Project-Id-Version: libguestfs 1.29.26\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2015-04-01 10:05+0100\n"
+"POT-Creation-Date: 2015-04-10 13:46+0100\n"
 "PO-Revision-Date: 2014-10-18 04:00-0400\n"
 "Last-Translator: rjones <rjones at redhat.com>\n"
 "Language-Team: Japanese (http://www.transifex.com/projects/p/libguestfs/"
@@ -2250,6 +2250,15 @@ msgstr ""
 msgid "cannot detect the input disk format; use the -if parameter"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:436
+msgid "cannot find HKLM\\SYSTEM\\%s in the guest registry"
+msgstr ""
+
+#: ../v2v/convert_windows.ml:422
+msgid ""
+"cannot find HKLM\\SYSTEM\\DriverDatabase\\DeviceIds\\%s in the guest registry"
+msgstr ""
+
 #: ../builder/builder.ml:236
 msgid ""
 "cannot find os-version '%s' with architecture '%s'.\n"
@@ -2339,7 +2348,7 @@ msgstr ""
 msgid "could not find cache directory. Is $HOME set?"
 msgstr ""
 
-#: ../v2v/convert_windows.ml:430
+#: ../v2v/convert_windows.ml:629
 msgid ""
 "could not find registry key HKLM\\SOFTWARE\\Microsoft\\Windows"
 "\\CurrentVersion"
@@ -2400,13 +2409,13 @@ msgstr ""
 msgid "curl is not installed (or does not work)"
 msgstr ""
 
-#: ../mllib/regedit.ml:55
+#: ../mllib/regedit.ml:56
 msgid ""
 "decode_utf16le: Windows UTF16-LE string contains non-7-bit characters.  This "
 "is a bug in %s, please report it."
 msgstr ""
 
-#: ../mllib/regedit.ml:49
+#: ../mllib/regedit.ml:50
 msgid ""
 "decode_utf16le: Windows string does not appear to be in UTF16-LE encoding.  "
 "This could be a bug in %s."
@@ -3296,6 +3305,10 @@ msgstr ""
 msgid "virt-v2v is unable to convert this guest type (%s/%s)"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:404
+msgid "when adding viostor to the DriverDatabase, unknown architecture: %s"
+msgstr ""
+
 #: ../resize/resize.ml:149
 msgid "xfs_growfs"
 msgstr ""
diff --git a/po/kn.po b/po/kn.po
index e0fae42..817ed81 100644
--- a/po/kn.po
+++ b/po/kn.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: libguestfs 1.29.26\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2015-04-01 10:05+0100\n"
+"POT-Creation-Date: 2015-04-10 13:46+0100\n"
 "PO-Revision-Date: 2014-10-18 04:00-0400\n"
 "Last-Translator: rjones <rjones at redhat.com>\n"
 "Language-Team: Kannada (http://www.transifex.com/projects/p/libguestfs/"
@@ -2249,6 +2249,15 @@ msgstr ""
 msgid "cannot detect the input disk format; use the -if parameter"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:436
+msgid "cannot find HKLM\\SYSTEM\\%s in the guest registry"
+msgstr ""
+
+#: ../v2v/convert_windows.ml:422
+msgid ""
+"cannot find HKLM\\SYSTEM\\DriverDatabase\\DeviceIds\\%s in the guest registry"
+msgstr ""
+
 #: ../builder/builder.ml:236
 msgid ""
 "cannot find os-version '%s' with architecture '%s'.\n"
@@ -2338,7 +2347,7 @@ msgstr ""
 msgid "could not find cache directory. Is $HOME set?"
 msgstr ""
 
-#: ../v2v/convert_windows.ml:430
+#: ../v2v/convert_windows.ml:629
 msgid ""
 "could not find registry key HKLM\\SOFTWARE\\Microsoft\\Windows"
 "\\CurrentVersion"
@@ -2399,13 +2408,13 @@ msgstr ""
 msgid "curl is not installed (or does not work)"
 msgstr ""
 
-#: ../mllib/regedit.ml:55
+#: ../mllib/regedit.ml:56
 msgid ""
 "decode_utf16le: Windows UTF16-LE string contains non-7-bit characters.  This "
 "is a bug in %s, please report it."
 msgstr ""
 
-#: ../mllib/regedit.ml:49
+#: ../mllib/regedit.ml:50
 msgid ""
 "decode_utf16le: Windows string does not appear to be in UTF16-LE encoding.  "
 "This could be a bug in %s."
@@ -3295,6 +3304,10 @@ msgstr ""
 msgid "virt-v2v is unable to convert this guest type (%s/%s)"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:404
+msgid "when adding viostor to the DriverDatabase, unknown architecture: %s"
+msgstr ""
+
 #: ../resize/resize.ml:149
 msgid "xfs_growfs"
 msgstr ""
diff --git a/po/libguestfs.pot b/po/libguestfs.pot
index 6af056f..aaee8a5 100644
--- a/po/libguestfs.pot
+++ b/po/libguestfs.pot
@@ -6,10 +6,10 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: libguestfs 1.29.33\n"
+"Project-Id-Version: libguestfs 1.29.34\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2015-04-01 10:05+0100\n"
+"POT-Creation-Date: 2015-04-10 13:46+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -2246,6 +2246,15 @@ msgstr ""
 msgid "cannot detect the input disk format; use the -if parameter"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:436
+msgid "cannot find HKLM\\SYSTEM\\%s in the guest registry"
+msgstr ""
+
+#: ../v2v/convert_windows.ml:422
+msgid ""
+"cannot find HKLM\\SYSTEM\\DriverDatabase\\DeviceIds\\%s in the guest registry"
+msgstr ""
+
 #: ../builder/builder.ml:236
 msgid ""
 "cannot find os-version '%s' with architecture '%s'.\n"
@@ -2335,7 +2344,7 @@ msgstr ""
 msgid "could not find cache directory. Is $HOME set?"
 msgstr ""
 
-#: ../v2v/convert_windows.ml:430
+#: ../v2v/convert_windows.ml:629
 msgid ""
 "could not find registry key HKLM\\SOFTWARE\\Microsoft\\Windows"
 "\\CurrentVersion"
@@ -2396,13 +2405,13 @@ msgstr ""
 msgid "curl is not installed (or does not work)"
 msgstr ""
 
-#: ../mllib/regedit.ml:55
+#: ../mllib/regedit.ml:56
 msgid ""
 "decode_utf16le: Windows UTF16-LE string contains non-7-bit characters.  This "
 "is a bug in %s, please report it."
 msgstr ""
 
-#: ../mllib/regedit.ml:49
+#: ../mllib/regedit.ml:50
 msgid ""
 "decode_utf16le: Windows string does not appear to be in UTF16-LE encoding.  "
 "This could be a bug in %s."
@@ -3292,6 +3301,10 @@ msgstr ""
 msgid "virt-v2v is unable to convert this guest type (%s/%s)"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:404
+msgid "when adding viostor to the DriverDatabase, unknown architecture: %s"
+msgstr ""
+
 #: ../resize/resize.ml:149
 msgid "xfs_growfs"
 msgstr ""
diff --git a/po/ml.po b/po/ml.po
index 78f40c4..70cc33d 100644
--- a/po/ml.po
+++ b/po/ml.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: libguestfs 1.29.26\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2015-04-01 10:05+0100\n"
+"POT-Creation-Date: 2015-04-10 13:46+0100\n"
 "PO-Revision-Date: 2014-10-18 04:00-0400\n"
 "Last-Translator: rjones <rjones at redhat.com>\n"
 "Language-Team: Malayalam (http://www.transifex.com/projects/p/libguestfs/"
@@ -2249,6 +2249,15 @@ msgstr ""
 msgid "cannot detect the input disk format; use the -if parameter"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:436
+msgid "cannot find HKLM\\SYSTEM\\%s in the guest registry"
+msgstr ""
+
+#: ../v2v/convert_windows.ml:422
+msgid ""
+"cannot find HKLM\\SYSTEM\\DriverDatabase\\DeviceIds\\%s in the guest registry"
+msgstr ""
+
 #: ../builder/builder.ml:236
 msgid ""
 "cannot find os-version '%s' with architecture '%s'.\n"
@@ -2338,7 +2347,7 @@ msgstr ""
 msgid "could not find cache directory. Is $HOME set?"
 msgstr ""
 
-#: ../v2v/convert_windows.ml:430
+#: ../v2v/convert_windows.ml:629
 msgid ""
 "could not find registry key HKLM\\SOFTWARE\\Microsoft\\Windows"
 "\\CurrentVersion"
@@ -2399,13 +2408,13 @@ msgstr ""
 msgid "curl is not installed (or does not work)"
 msgstr ""
 
-#: ../mllib/regedit.ml:55
+#: ../mllib/regedit.ml:56
 msgid ""
 "decode_utf16le: Windows UTF16-LE string contains non-7-bit characters.  This "
 "is a bug in %s, please report it."
 msgstr ""
 
-#: ../mllib/regedit.ml:49
+#: ../mllib/regedit.ml:50
 msgid ""
 "decode_utf16le: Windows string does not appear to be in UTF16-LE encoding.  "
 "This could be a bug in %s."
@@ -3295,6 +3304,10 @@ msgstr ""
 msgid "virt-v2v is unable to convert this guest type (%s/%s)"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:404
+msgid "when adding viostor to the DriverDatabase, unknown architecture: %s"
+msgstr ""
+
 #: ../resize/resize.ml:149
 msgid "xfs_growfs"
 msgstr ""
diff --git a/po/mr.po b/po/mr.po
index dfe8549..8ce0cf2 100644
--- a/po/mr.po
+++ b/po/mr.po
@@ -10,7 +10,7 @@ msgstr ""
 "Project-Id-Version: libguestfs 1.29.26\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2015-04-01 10:05+0100\n"
+"POT-Creation-Date: 2015-04-10 13:46+0100\n"
 "PO-Revision-Date: 2014-10-18 04:00-0400\n"
 "Last-Translator: rjones <rjones at redhat.com>\n"
 "Language-Team: Marathi (http://www.transifex.com/projects/p/libguestfs/"
@@ -2250,6 +2250,15 @@ msgstr ""
 msgid "cannot detect the input disk format; use the -if parameter"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:436
+msgid "cannot find HKLM\\SYSTEM\\%s in the guest registry"
+msgstr ""
+
+#: ../v2v/convert_windows.ml:422
+msgid ""
+"cannot find HKLM\\SYSTEM\\DriverDatabase\\DeviceIds\\%s in the guest registry"
+msgstr ""
+
 #: ../builder/builder.ml:236
 msgid ""
 "cannot find os-version '%s' with architecture '%s'.\n"
@@ -2339,7 +2348,7 @@ msgstr ""
 msgid "could not find cache directory. Is $HOME set?"
 msgstr ""
 
-#: ../v2v/convert_windows.ml:430
+#: ../v2v/convert_windows.ml:629
 msgid ""
 "could not find registry key HKLM\\SOFTWARE\\Microsoft\\Windows"
 "\\CurrentVersion"
@@ -2400,13 +2409,13 @@ msgstr ""
 msgid "curl is not installed (or does not work)"
 msgstr ""
 
-#: ../mllib/regedit.ml:55
+#: ../mllib/regedit.ml:56
 msgid ""
 "decode_utf16le: Windows UTF16-LE string contains non-7-bit characters.  This "
 "is a bug in %s, please report it."
 msgstr ""
 
-#: ../mllib/regedit.ml:49
+#: ../mllib/regedit.ml:50
 msgid ""
 "decode_utf16le: Windows string does not appear to be in UTF16-LE encoding.  "
 "This could be a bug in %s."
@@ -3296,6 +3305,10 @@ msgstr ""
 msgid "virt-v2v is unable to convert this guest type (%s/%s)"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:404
+msgid "when adding viostor to the DriverDatabase, unknown architecture: %s"
+msgstr ""
+
 #: ../resize/resize.ml:149
 msgid "xfs_growfs"
 msgstr ""
diff --git a/po/nl.po b/po/nl.po
index 5d6a531..acd65d5 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -11,7 +11,7 @@ msgstr ""
 "Project-Id-Version: libguestfs 1.29.26\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2015-04-01 10:05+0100\n"
+"POT-Creation-Date: 2015-04-10 13:46+0100\n"
 "PO-Revision-Date: 2014-10-18 04:00-0400\n"
 "Last-Translator: rjones <rjones at redhat.com>\n"
 "Language-Team: Dutch (http://www.transifex.com/projects/p/libguestfs/"
@@ -2251,6 +2251,15 @@ msgstr ""
 msgid "cannot detect the input disk format; use the -if parameter"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:436
+msgid "cannot find HKLM\\SYSTEM\\%s in the guest registry"
+msgstr ""
+
+#: ../v2v/convert_windows.ml:422
+msgid ""
+"cannot find HKLM\\SYSTEM\\DriverDatabase\\DeviceIds\\%s in the guest registry"
+msgstr ""
+
 #: ../builder/builder.ml:236
 msgid ""
 "cannot find os-version '%s' with architecture '%s'.\n"
@@ -2340,7 +2349,7 @@ msgstr ""
 msgid "could not find cache directory. Is $HOME set?"
 msgstr ""
 
-#: ../v2v/convert_windows.ml:430
+#: ../v2v/convert_windows.ml:629
 msgid ""
 "could not find registry key HKLM\\SOFTWARE\\Microsoft\\Windows"
 "\\CurrentVersion"
@@ -2401,13 +2410,13 @@ msgstr ""
 msgid "curl is not installed (or does not work)"
 msgstr ""
 
-#: ../mllib/regedit.ml:55
+#: ../mllib/regedit.ml:56
 msgid ""
 "decode_utf16le: Windows UTF16-LE string contains non-7-bit characters.  This "
 "is a bug in %s, please report it."
 msgstr ""
 
-#: ../mllib/regedit.ml:49
+#: ../mllib/regedit.ml:50
 msgid ""
 "decode_utf16le: Windows string does not appear to be in UTF16-LE encoding.  "
 "This could be a bug in %s."
@@ -3297,6 +3306,10 @@ msgstr ""
 msgid "virt-v2v is unable to convert this guest type (%s/%s)"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:404
+msgid "when adding viostor to the DriverDatabase, unknown architecture: %s"
+msgstr ""
+
 #: ../resize/resize.ml:149
 msgid "xfs_growfs"
 msgstr ""
diff --git a/po/or.po b/po/or.po
index c34b762..4c21918 100644
--- a/po/or.po
+++ b/po/or.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: libguestfs 1.29.26\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2015-04-01 10:05+0100\n"
+"POT-Creation-Date: 2015-04-10 13:46+0100\n"
 "PO-Revision-Date: 2014-10-18 04:00-0400\n"
 "Last-Translator: rjones <rjones at redhat.com>\n"
 "Language-Team: Oriya (http://www.transifex.com/projects/p/libguestfs/"
@@ -2249,6 +2249,15 @@ msgstr ""
 msgid "cannot detect the input disk format; use the -if parameter"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:436
+msgid "cannot find HKLM\\SYSTEM\\%s in the guest registry"
+msgstr ""
+
+#: ../v2v/convert_windows.ml:422
+msgid ""
+"cannot find HKLM\\SYSTEM\\DriverDatabase\\DeviceIds\\%s in the guest registry"
+msgstr ""
+
 #: ../builder/builder.ml:236
 msgid ""
 "cannot find os-version '%s' with architecture '%s'.\n"
@@ -2338,7 +2347,7 @@ msgstr ""
 msgid "could not find cache directory. Is $HOME set?"
 msgstr ""
 
-#: ../v2v/convert_windows.ml:430
+#: ../v2v/convert_windows.ml:629
 msgid ""
 "could not find registry key HKLM\\SOFTWARE\\Microsoft\\Windows"
 "\\CurrentVersion"
@@ -2399,13 +2408,13 @@ msgstr ""
 msgid "curl is not installed (or does not work)"
 msgstr ""
 
-#: ../mllib/regedit.ml:55
+#: ../mllib/regedit.ml:56
 msgid ""
 "decode_utf16le: Windows UTF16-LE string contains non-7-bit characters.  This "
 "is a bug in %s, please report it."
 msgstr ""
 
-#: ../mllib/regedit.ml:49
+#: ../mllib/regedit.ml:50
 msgid ""
 "decode_utf16le: Windows string does not appear to be in UTF16-LE encoding.  "
 "This could be a bug in %s."
@@ -3295,6 +3304,10 @@ msgstr ""
 msgid "virt-v2v is unable to convert this guest type (%s/%s)"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:404
+msgid "when adding viostor to the DriverDatabase, unknown architecture: %s"
+msgstr ""
+
 #: ../resize/resize.ml:149
 msgid "xfs_growfs"
 msgstr ""
diff --git a/po/pa.po b/po/pa.po
index 2fc32a4..9490f9a 100644
--- a/po/pa.po
+++ b/po/pa.po
@@ -10,7 +10,7 @@ msgstr ""
 "Project-Id-Version: libguestfs 1.29.26\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2015-04-01 10:05+0100\n"
+"POT-Creation-Date: 2015-04-10 13:46+0100\n"
 "PO-Revision-Date: 2014-10-18 04:00-0400\n"
 "Last-Translator: rjones <rjones at redhat.com>\n"
 "Language-Team: Panjabi (Punjabi) (http://www.transifex.com/projects/p/"
@@ -2250,6 +2250,15 @@ msgstr ""
 msgid "cannot detect the input disk format; use the -if parameter"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:436
+msgid "cannot find HKLM\\SYSTEM\\%s in the guest registry"
+msgstr ""
+
+#: ../v2v/convert_windows.ml:422
+msgid ""
+"cannot find HKLM\\SYSTEM\\DriverDatabase\\DeviceIds\\%s in the guest registry"
+msgstr ""
+
 #: ../builder/builder.ml:236
 msgid ""
 "cannot find os-version '%s' with architecture '%s'.\n"
@@ -2339,7 +2348,7 @@ msgstr ""
 msgid "could not find cache directory. Is $HOME set?"
 msgstr ""
 
-#: ../v2v/convert_windows.ml:430
+#: ../v2v/convert_windows.ml:629
 msgid ""
 "could not find registry key HKLM\\SOFTWARE\\Microsoft\\Windows"
 "\\CurrentVersion"
@@ -2400,13 +2409,13 @@ msgstr ""
 msgid "curl is not installed (or does not work)"
 msgstr ""
 
-#: ../mllib/regedit.ml:55
+#: ../mllib/regedit.ml:56
 msgid ""
 "decode_utf16le: Windows UTF16-LE string contains non-7-bit characters.  This "
 "is a bug in %s, please report it."
 msgstr ""
 
-#: ../mllib/regedit.ml:49
+#: ../mllib/regedit.ml:50
 msgid ""
 "decode_utf16le: Windows string does not appear to be in UTF16-LE encoding.  "
 "This could be a bug in %s."
@@ -3296,6 +3305,10 @@ msgstr ""
 msgid "virt-v2v is unable to convert this guest type (%s/%s)"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:404
+msgid "when adding viostor to the DriverDatabase, unknown architecture: %s"
+msgstr ""
+
 #: ../resize/resize.ml:149
 msgid "xfs_growfs"
 msgstr ""
diff --git a/po/pl.po b/po/pl.po
index a266b69..d4dc441 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -12,7 +12,7 @@ msgstr ""
 "Project-Id-Version: libguestfs 1.29.26\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2015-04-01 10:05+0100\n"
+"POT-Creation-Date: 2015-04-10 13:46+0100\n"
 "PO-Revision-Date: 2014-10-18 04:00-0400\n"
 "Last-Translator: rjones <rjones at redhat.com>\n"
 "Language-Team: Polish (http://www.transifex.com/projects/p/libguestfs/"
@@ -2253,6 +2253,15 @@ msgstr ""
 msgid "cannot detect the input disk format; use the -if parameter"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:436
+msgid "cannot find HKLM\\SYSTEM\\%s in the guest registry"
+msgstr ""
+
+#: ../v2v/convert_windows.ml:422
+msgid ""
+"cannot find HKLM\\SYSTEM\\DriverDatabase\\DeviceIds\\%s in the guest registry"
+msgstr ""
+
 #: ../builder/builder.ml:236
 msgid ""
 "cannot find os-version '%s' with architecture '%s'.\n"
@@ -2342,7 +2351,7 @@ msgstr ""
 msgid "could not find cache directory. Is $HOME set?"
 msgstr ""
 
-#: ../v2v/convert_windows.ml:430
+#: ../v2v/convert_windows.ml:629
 msgid ""
 "could not find registry key HKLM\\SOFTWARE\\Microsoft\\Windows"
 "\\CurrentVersion"
@@ -2403,13 +2412,13 @@ msgstr ""
 msgid "curl is not installed (or does not work)"
 msgstr ""
 
-#: ../mllib/regedit.ml:55
+#: ../mllib/regedit.ml:56
 msgid ""
 "decode_utf16le: Windows UTF16-LE string contains non-7-bit characters.  This "
 "is a bug in %s, please report it."
 msgstr ""
 
-#: ../mllib/regedit.ml:49
+#: ../mllib/regedit.ml:50
 msgid ""
 "decode_utf16le: Windows string does not appear to be in UTF16-LE encoding.  "
 "This could be a bug in %s."
@@ -3299,6 +3308,10 @@ msgstr ""
 msgid "virt-v2v is unable to convert this guest type (%s/%s)"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:404
+msgid "when adding viostor to the DriverDatabase, unknown architecture: %s"
+msgstr ""
+
 #: ../resize/resize.ml:149
 msgid "xfs_growfs"
 msgstr ""
diff --git a/po/ru.po b/po/ru.po
index acdeb3c..8b4e715 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: libguestfs 1.29.26\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2015-04-01 10:05+0100\n"
+"POT-Creation-Date: 2015-04-10 13:46+0100\n"
 "PO-Revision-Date: 2014-10-18 04:00-0400\n"
 "Last-Translator: rjones <rjones at redhat.com>\n"
 "Language-Team: Russian (http://www.transifex.com/projects/p/libguestfs/"
@@ -2250,6 +2250,15 @@ msgstr ""
 msgid "cannot detect the input disk format; use the -if parameter"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:436
+msgid "cannot find HKLM\\SYSTEM\\%s in the guest registry"
+msgstr ""
+
+#: ../v2v/convert_windows.ml:422
+msgid ""
+"cannot find HKLM\\SYSTEM\\DriverDatabase\\DeviceIds\\%s in the guest registry"
+msgstr ""
+
 #: ../builder/builder.ml:236
 msgid ""
 "cannot find os-version '%s' with architecture '%s'.\n"
@@ -2339,7 +2348,7 @@ msgstr ""
 msgid "could not find cache directory. Is $HOME set?"
 msgstr ""
 
-#: ../v2v/convert_windows.ml:430
+#: ../v2v/convert_windows.ml:629
 msgid ""
 "could not find registry key HKLM\\SOFTWARE\\Microsoft\\Windows"
 "\\CurrentVersion"
@@ -2400,13 +2409,13 @@ msgstr ""
 msgid "curl is not installed (or does not work)"
 msgstr ""
 
-#: ../mllib/regedit.ml:55
+#: ../mllib/regedit.ml:56
 msgid ""
 "decode_utf16le: Windows UTF16-LE string contains non-7-bit characters.  This "
 "is a bug in %s, please report it."
 msgstr ""
 
-#: ../mllib/regedit.ml:49
+#: ../mllib/regedit.ml:50
 msgid ""
 "decode_utf16le: Windows string does not appear to be in UTF16-LE encoding.  "
 "This could be a bug in %s."
@@ -3296,6 +3305,10 @@ msgstr ""
 msgid "virt-v2v is unable to convert this guest type (%s/%s)"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:404
+msgid "when adding viostor to the DriverDatabase, unknown architecture: %s"
+msgstr ""
+
 #: ../resize/resize.ml:149
 msgid "xfs_growfs"
 msgstr ""
diff --git a/po/ta.po b/po/ta.po
index 0af856d..5c5e704 100644
--- a/po/ta.po
+++ b/po/ta.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: libguestfs 1.29.26\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2015-04-01 10:05+0100\n"
+"POT-Creation-Date: 2015-04-10 13:46+0100\n"
 "PO-Revision-Date: 2014-10-18 04:00-0400\n"
 "Last-Translator: rjones <rjones at redhat.com>\n"
 "Language-Team: Tamil (http://www.transifex.com/projects/p/libguestfs/"
@@ -2249,6 +2249,15 @@ msgstr ""
 msgid "cannot detect the input disk format; use the -if parameter"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:436
+msgid "cannot find HKLM\\SYSTEM\\%s in the guest registry"
+msgstr ""
+
+#: ../v2v/convert_windows.ml:422
+msgid ""
+"cannot find HKLM\\SYSTEM\\DriverDatabase\\DeviceIds\\%s in the guest registry"
+msgstr ""
+
 #: ../builder/builder.ml:236
 msgid ""
 "cannot find os-version '%s' with architecture '%s'.\n"
@@ -2338,7 +2347,7 @@ msgstr ""
 msgid "could not find cache directory. Is $HOME set?"
 msgstr ""
 
-#: ../v2v/convert_windows.ml:430
+#: ../v2v/convert_windows.ml:629
 msgid ""
 "could not find registry key HKLM\\SOFTWARE\\Microsoft\\Windows"
 "\\CurrentVersion"
@@ -2399,13 +2408,13 @@ msgstr ""
 msgid "curl is not installed (or does not work)"
 msgstr ""
 
-#: ../mllib/regedit.ml:55
+#: ../mllib/regedit.ml:56
 msgid ""
 "decode_utf16le: Windows UTF16-LE string contains non-7-bit characters.  This "
 "is a bug in %s, please report it."
 msgstr ""
 
-#: ../mllib/regedit.ml:49
+#: ../mllib/regedit.ml:50
 msgid ""
 "decode_utf16le: Windows string does not appear to be in UTF16-LE encoding.  "
 "This could be a bug in %s."
@@ -3295,6 +3304,10 @@ msgstr ""
 msgid "virt-v2v is unable to convert this guest type (%s/%s)"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:404
+msgid "when adding viostor to the DriverDatabase, unknown architecture: %s"
+msgstr ""
+
 #: ../resize/resize.ml:149
 msgid "xfs_growfs"
 msgstr ""
diff --git a/po/te.po b/po/te.po
index 33ed5fd..23c3b52 100644
--- a/po/te.po
+++ b/po/te.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: libguestfs 1.29.26\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2015-04-01 10:05+0100\n"
+"POT-Creation-Date: 2015-04-10 13:46+0100\n"
 "PO-Revision-Date: 2014-10-18 04:00-0400\n"
 "Last-Translator: rjones <rjones at redhat.com>\n"
 "Language-Team: Telugu (http://www.transifex.com/projects/p/libguestfs/"
@@ -2249,6 +2249,15 @@ msgstr ""
 msgid "cannot detect the input disk format; use the -if parameter"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:436
+msgid "cannot find HKLM\\SYSTEM\\%s in the guest registry"
+msgstr ""
+
+#: ../v2v/convert_windows.ml:422
+msgid ""
+"cannot find HKLM\\SYSTEM\\DriverDatabase\\DeviceIds\\%s in the guest registry"
+msgstr ""
+
 #: ../builder/builder.ml:236
 msgid ""
 "cannot find os-version '%s' with architecture '%s'.\n"
@@ -2338,7 +2347,7 @@ msgstr ""
 msgid "could not find cache directory. Is $HOME set?"
 msgstr ""
 
-#: ../v2v/convert_windows.ml:430
+#: ../v2v/convert_windows.ml:629
 msgid ""
 "could not find registry key HKLM\\SOFTWARE\\Microsoft\\Windows"
 "\\CurrentVersion"
@@ -2399,13 +2408,13 @@ msgstr ""
 msgid "curl is not installed (or does not work)"
 msgstr ""
 
-#: ../mllib/regedit.ml:55
+#: ../mllib/regedit.ml:56
 msgid ""
 "decode_utf16le: Windows UTF16-LE string contains non-7-bit characters.  This "
 "is a bug in %s, please report it."
 msgstr ""
 
-#: ../mllib/regedit.ml:49
+#: ../mllib/regedit.ml:50
 msgid ""
 "decode_utf16le: Windows string does not appear to be in UTF16-LE encoding.  "
 "This could be a bug in %s."
@@ -3295,6 +3304,10 @@ msgstr ""
 msgid "virt-v2v is unable to convert this guest type (%s/%s)"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:404
+msgid "when adding viostor to the DriverDatabase, unknown architecture: %s"
+msgstr ""
+
 #: ../resize/resize.ml:149
 msgid "xfs_growfs"
 msgstr ""
diff --git a/po/tg.po b/po/tg.po
index 540e845..92ea4fd 100644
--- a/po/tg.po
+++ b/po/tg.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: libguestfs 1.29.26\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2015-04-01 10:05+0100\n"
+"POT-Creation-Date: 2015-04-10 13:46+0100\n"
 "PO-Revision-Date: 2014-10-18 04:00-0400\n"
 "Last-Translator: rjones <rjones at redhat.com>\n"
 "Language-Team: Tajik (http://www.transifex.com/projects/p/libguestfs/"
@@ -2248,6 +2248,15 @@ msgstr ""
 msgid "cannot detect the input disk format; use the -if parameter"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:436
+msgid "cannot find HKLM\\SYSTEM\\%s in the guest registry"
+msgstr ""
+
+#: ../v2v/convert_windows.ml:422
+msgid ""
+"cannot find HKLM\\SYSTEM\\DriverDatabase\\DeviceIds\\%s in the guest registry"
+msgstr ""
+
 #: ../builder/builder.ml:236
 msgid ""
 "cannot find os-version '%s' with architecture '%s'.\n"
@@ -2337,7 +2346,7 @@ msgstr ""
 msgid "could not find cache directory. Is $HOME set?"
 msgstr ""
 
-#: ../v2v/convert_windows.ml:430
+#: ../v2v/convert_windows.ml:629
 msgid ""
 "could not find registry key HKLM\\SOFTWARE\\Microsoft\\Windows"
 "\\CurrentVersion"
@@ -2398,13 +2407,13 @@ msgstr ""
 msgid "curl is not installed (or does not work)"
 msgstr ""
 
-#: ../mllib/regedit.ml:55
+#: ../mllib/regedit.ml:56
 msgid ""
 "decode_utf16le: Windows UTF16-LE string contains non-7-bit characters.  This "
 "is a bug in %s, please report it."
 msgstr ""
 
-#: ../mllib/regedit.ml:49
+#: ../mllib/regedit.ml:50
 msgid ""
 "decode_utf16le: Windows string does not appear to be in UTF16-LE encoding.  "
 "This could be a bug in %s."
@@ -3294,6 +3303,10 @@ msgstr ""
 msgid "virt-v2v is unable to convert this guest type (%s/%s)"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:404
+msgid "when adding viostor to the DriverDatabase, unknown architecture: %s"
+msgstr ""
+
 #: ../resize/resize.ml:149
 msgid "xfs_growfs"
 msgstr ""
diff --git a/po/uk.po b/po/uk.po
index ab3cbde..f33803a 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -10,7 +10,7 @@ msgstr ""
 "Project-Id-Version: libguestfs 1.29.26\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2015-04-01 10:05+0100\n"
+"POT-Creation-Date: 2015-04-10 13:46+0100\n"
 "PO-Revision-Date: 2014-10-18 04:00-0400\n"
 "Last-Translator: rjones <rjones at redhat.com>\n"
 "Language-Team: Ukrainian (http://www.transifex.com/projects/p/libguestfs/"
@@ -2596,6 +2596,15 @@ msgid "cannot detect the input disk format; use the -if parameter"
 msgstr ""
 "не вдалося визначити формат диска вхідних даних; скористайтеся параметром -if"
 
+#: ../v2v/convert_windows.ml:436
+msgid "cannot find HKLM\\SYSTEM\\%s in the guest registry"
+msgstr ""
+
+#: ../v2v/convert_windows.ml:422
+msgid ""
+"cannot find HKLM\\SYSTEM\\DriverDatabase\\DeviceIds\\%s in the guest registry"
+msgstr ""
+
 #: ../builder/builder.ml:236
 msgid ""
 "cannot find os-version '%s' with architecture '%s'.\n"
@@ -2699,7 +2708,7 @@ msgstr ""
 msgid "could not find cache directory. Is $HOME set?"
 msgstr ""
 
-#: ../v2v/convert_windows.ml:430
+#: ../v2v/convert_windows.ml:629
 msgid ""
 "could not find registry key HKLM\\SOFTWARE\\Microsoft\\Windows"
 "\\CurrentVersion"
@@ -2770,7 +2779,7 @@ msgstr ""
 msgid "curl is not installed (or does not work)"
 msgstr ""
 
-#: ../mllib/regedit.ml:55
+#: ../mllib/regedit.ml:56
 msgid ""
 "decode_utf16le: Windows UTF16-LE string contains non-7-bit characters.  This "
 "is a bug in %s, please report it."
@@ -2778,7 +2787,7 @@ msgstr ""
 "decode_utf16le: рядок Windows UTF16-LE містить символи, які не є 7-бітовими. "
 "Це вада у %s. Будь ласка, повідомте про неї розробникам."
 
-#: ../mllib/regedit.ml:49
+#: ../mllib/regedit.ml:50
 msgid ""
 "decode_utf16le: Windows string does not appear to be in UTF16-LE encoding.  "
 "This could be a bug in %s."
@@ -3790,6 +3799,10 @@ msgid "virt-v2v is unable to convert this guest type (%s/%s)"
 msgstr ""
 "virt-v2v не може виконувати перетворення цього типу гостьових систем (%s/%s)"
 
+#: ../v2v/convert_windows.ml:404
+msgid "when adding viostor to the DriverDatabase, unknown architecture: %s"
+msgstr ""
+
 #: ../resize/resize.ml:149
 msgid "xfs_growfs"
 msgstr "xfs_growfs"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 859f146..733744a 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: libguestfs 1.29.26\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2015-04-01 10:05+0100\n"
+"POT-Creation-Date: 2015-04-10 13:46+0100\n"
 "PO-Revision-Date: 2014-10-18 04:00-0400\n"
 "Last-Translator: rjones <rjones at redhat.com>\n"
 "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/"
@@ -2249,6 +2249,15 @@ msgstr ""
 msgid "cannot detect the input disk format; use the -if parameter"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:436
+msgid "cannot find HKLM\\SYSTEM\\%s in the guest registry"
+msgstr ""
+
+#: ../v2v/convert_windows.ml:422
+msgid ""
+"cannot find HKLM\\SYSTEM\\DriverDatabase\\DeviceIds\\%s in the guest registry"
+msgstr ""
+
 #: ../builder/builder.ml:236
 msgid ""
 "cannot find os-version '%s' with architecture '%s'.\n"
@@ -2338,7 +2347,7 @@ msgstr ""
 msgid "could not find cache directory. Is $HOME set?"
 msgstr ""
 
-#: ../v2v/convert_windows.ml:430
+#: ../v2v/convert_windows.ml:629
 msgid ""
 "could not find registry key HKLM\\SOFTWARE\\Microsoft\\Windows"
 "\\CurrentVersion"
@@ -2399,13 +2408,13 @@ msgstr ""
 msgid "curl is not installed (or does not work)"
 msgstr ""
 
-#: ../mllib/regedit.ml:55
+#: ../mllib/regedit.ml:56
 msgid ""
 "decode_utf16le: Windows UTF16-LE string contains non-7-bit characters.  This "
 "is a bug in %s, please report it."
 msgstr ""
 
-#: ../mllib/regedit.ml:49
+#: ../mllib/regedit.ml:50
 msgid ""
 "decode_utf16le: Windows string does not appear to be in UTF16-LE encoding.  "
 "This could be a bug in %s."
@@ -3295,6 +3304,10 @@ msgstr ""
 msgid "virt-v2v is unable to convert this guest type (%s/%s)"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:404
+msgid "when adding viostor to the DriverDatabase, unknown architecture: %s"
+msgstr ""
+
 #: ../resize/resize.ml:149
 msgid "xfs_growfs"
 msgstr ""
diff --git a/po/zh_TW.po b/po/zh_TW.po
index b2c330c..568fe61 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: libguestfs 1.29.26\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2015-04-01 10:05+0100\n"
+"POT-Creation-Date: 2015-04-10 13:46+0100\n"
 "PO-Revision-Date: 2014-10-18 04:00-0400\n"
 "Last-Translator: rjones <rjones at redhat.com>\n"
 "Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/"
@@ -2249,6 +2249,15 @@ msgstr ""
 msgid "cannot detect the input disk format; use the -if parameter"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:436
+msgid "cannot find HKLM\\SYSTEM\\%s in the guest registry"
+msgstr ""
+
+#: ../v2v/convert_windows.ml:422
+msgid ""
+"cannot find HKLM\\SYSTEM\\DriverDatabase\\DeviceIds\\%s in the guest registry"
+msgstr ""
+
 #: ../builder/builder.ml:236
 msgid ""
 "cannot find os-version '%s' with architecture '%s'.\n"
@@ -2338,7 +2347,7 @@ msgstr ""
 msgid "could not find cache directory. Is $HOME set?"
 msgstr ""
 
-#: ../v2v/convert_windows.ml:430
+#: ../v2v/convert_windows.ml:629
 msgid ""
 "could not find registry key HKLM\\SOFTWARE\\Microsoft\\Windows"
 "\\CurrentVersion"
@@ -2399,13 +2408,13 @@ msgstr ""
 msgid "curl is not installed (or does not work)"
 msgstr ""
 
-#: ../mllib/regedit.ml:55
+#: ../mllib/regedit.ml:56
 msgid ""
 "decode_utf16le: Windows UTF16-LE string contains non-7-bit characters.  This "
 "is a bug in %s, please report it."
 msgstr ""
 
-#: ../mllib/regedit.ml:49
+#: ../mllib/regedit.ml:50
 msgid ""
 "decode_utf16le: Windows string does not appear to be in UTF16-LE encoding.  "
 "This could be a bug in %s."
@@ -3295,6 +3304,10 @@ msgstr ""
 msgid "virt-v2v is unable to convert this guest type (%s/%s)"
 msgstr ""
 
+#: ../v2v/convert_windows.ml:404
+msgid "when adding viostor to the DriverDatabase, unknown architecture: %s"
+msgstr ""
+
 #: ../resize/resize.ml:149
 msgid "xfs_growfs"
 msgstr ""

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-libvirt/libguestfs.git



More information about the Pkg-libvirt-commits mailing list