v2v/test-v2v-windows-conversion.sh used to query if the expected directories and filed were present in the VM upon conversion; however it would ignore the results of that query.
That lead to the test passing even though the checks failed. To fix it, parse the output of guestfish and verify that all is-file and is-dir commands return the expected "true". While doing so, keep in mind that the exit status of a pipeline is that of the last command, so make sure to check the exit status of guestfish too via $PIPESTATUS (yes it's bash-specific but the scripts are run with bash only anyway). Signed-off-by: Roman Kagan <[email protected]> --- v2v/test-v2v-windows-conversion.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/v2v/test-v2v-windows-conversion.sh b/v2v/test-v2v-windows-conversion.sh index eef6f57..916699d 100755 --- a/v2v/test-v2v-windows-conversion.sh +++ b/v2v/test-v2v-windows-conversion.sh @@ -67,12 +67,23 @@ test -f $d/windows.xml test -f $d/windows-sda # Test some aspects of the target disk image. +{ guestfish --ro -a $d/windows-sda -i <<EOF + trace 1 is-dir "/Program Files/Red Hat/Firstboot" is-file "/Program Files/Red Hat/Firstboot/firstboot.bat" is-dir "/Program Files/Red Hat/Firstboot/scripts" is-dir "/Windows/Drivers/VirtIO" + trace 0 EOF +} | { + ret=0 + while read r; do + [ "$r" = "true" ] || ret=1 + done + exit $ret +} +(( PIPESTATUS[0] == 0 )) # We also update the Registry several times, for firstboot, and (ONLY # if the virtio-win drivers are installed locally) the critical device -- 2.4.3 _______________________________________________ Libguestfs mailing list [email protected] https://www.redhat.com/mailman/listinfo/libguestfs
