On Monday 05 October 2015 15:40:03 Roman Kagan wrote: > 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 > +}
Note we have tests that check the output of guestfish -- for example, fish/test-edit.sh (it is not the only one). I guess you could turn this test to do the same, which could be also easier to expand if there will be added more commands that output things different than "true". > +(( PIPESTATUS[0] == 0 )) set -o pipefail (which is bash-specific) -- Pino Toscano
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Libguestfs mailing list [email protected] https://www.redhat.com/mailman/listinfo/libguestfs
