v2v: tests: isolate SHA1 calculation in an own shared function

sha1sum(1) does not exist everywhere, so wrap it in an own function so
the right implementation can be chosen on each OS.  Also, wrapping it
avoid using awk everytime.
This commit is contained in:
Pino Toscano
2016-03-18 15:03:22 +01:00
parent 41795a1c98
commit 8aee5726d3
5 changed files with 27 additions and 6 deletions

View File

@@ -28,3 +28,16 @@ do_md5 ()
;;
esac
}
do_sha1 ()
{
case "$(uname)" in
Linux)
sha1sum "$1" | awk '{print $1}'
;;
*)
echo "$0: unknown method to calculate SHA1 of file on $(uname)"
exit 1
;;
esac
}

View File

@@ -46,6 +46,8 @@ fi
export VIRT_TOOLS_DATA_DIR="$srcdir/../test-data/fake-virt-tools"
. $srcdir/../test-data/guestfs-hashsums.sh
d=test-v2v-i-ova-formats.d
rm -rf $d
mkdir $d
@@ -55,7 +57,7 @@ pushd $d
# Create a phony OVA. This is only a test of source parsing, not
# conversion, so the contents of the disks doesn't matter.
truncate -s 10k disk1.vmdk
sha=`sha1sum disk1.vmdk | awk '{print $1}'`
sha=`do_sha1 disk1.vmdk`
echo -e "SHA1(disk1.vmdk)=$sha\r" > disk1.mf
for format in $formats; do

View File

@@ -34,6 +34,8 @@ fi
export VIRT_TOOLS_DATA_DIR="$srcdir/../test-data/fake-virt-tools"
. $srcdir/../test-data/guestfs-hashsums.sh
d=test-v2v-i-ova-gz.d
rm -rf $d
mkdir $d
@@ -42,7 +44,7 @@ pushd $d
truncate -s 10k disk1.vmdk
gzip disk1.vmdk
sha=`sha1sum disk1.vmdk.gz | awk '{print $1}'`
sha=`do_sha1 disk1.vmdk.gz`
echo -e "SHA1(disk1.vmdk.gz)=$sha\r" > disk1.mf
tar -cf test.ova ../test-v2v-i-ova-gz.ovf disk1.vmdk.gz disk1.mf

View File

@@ -35,6 +35,8 @@ fi
export VIRT_TOOLS_DATA_DIR="$srcdir/../test-data/fake-virt-tools"
export VIRTIO_WIN="$srcdir/../test-data/fake-virtio-win"
. $srcdir/../test-data/guestfs-hashsums.sh
d=test-v2v-i-ova-two-disks.d
rm -rf $d
mkdir $d
@@ -44,10 +46,10 @@ pushd $d
# Create a phony OVA. This is only a test of source parsing, not
# conversion, so the contents of the disks doesn't matter.
truncate -s 10k disk1.vmdk
sha=`sha1sum disk1.vmdk | awk '{print $1}'`
sha=`do_sha1 disk1.vmdk`
echo -e "SHA1(disk1.vmdk)=$sha\r" > disk1.mf
truncate -s 100k disk2.vmdk
sha=`sha1sum disk2.vmdk | awk '{print $1}'`
sha=`do_sha1 disk2.vmdk`
echo -e "SHA1(disk2.vmdk)=$sha\r" > disk2.mf
tar -cf test.ova ../test-v2v-i-ova-two-disks.ovf disk1.vmdk disk1.mf disk2.vmdk disk2.mf

View File

@@ -41,6 +41,8 @@ fi
export VIRT_TOOLS_DATA_DIR="$srcdir/../test-data/fake-virt-tools"
export VIRTIO_WIN="$srcdir/../test-data/fake-virtio-win"
. $srcdir/../test-data/guestfs-hashsums.sh
d=test-v2v-i-ova.d
rm -rf $d
mkdir $d
@@ -53,9 +55,9 @@ raw=TestOva-sda
qemu-img convert $f -O vmdk $d/$vmdk
cp $ovf $d/$ovf
sha1=`sha1sum $d/$ovf | awk '{print $1}'`
sha1=`do_sha1 $d/$ovf`
echo "SHA1($ovf)= $sha1" > $d/$mf
sha1=`sha1sum $d/$vmdk | awk '{print $1}'`
sha1=`do_sha1 $d/$vmdk`
echo "SHA1($vmdk)= $sha1" >> $d/$mf
pushd .