[Pkg-libvirt-commits] [libguestfs] 37/59: tests/qemu: isolate MD5 calculation in an own shared function

Hilko Bengen bengen at moszumanska.debian.org
Wed Nov 26 22:04:05 UTC 2014


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

bengen pushed a commit to branch master
in repository libguestfs.

commit 8661b0c69ffff687ca0588e96a5f001765edca59
Author: Pino Toscano <ptoscano at redhat.com>
Date:   Tue Nov 4 09:59:41 2014 +0100

    tests/qemu: isolate MD5 calculation in an own shared function
    
    md5sum(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.
    
    (cherry picked from commit 1fab78c7b249b230ce0d667fe4416505c19bbc74)
---
 tests/qemu/Makefile.am                |  1 +
 tests/qemu/guestfs-md5.sh             | 30 ++++++++++++++++++++++++++++++
 tests/qemu/qemu-liveness.sh           |  6 ++++--
 tests/qemu/qemu-snapshot-isolation.sh | 14 ++++++++------
 4 files changed, 43 insertions(+), 8 deletions(-)

diff --git a/tests/qemu/Makefile.am b/tests/qemu/Makefile.am
index b1b3555..4c14691 100644
--- a/tests/qemu/Makefile.am
+++ b/tests/qemu/Makefile.am
@@ -30,6 +30,7 @@ TESTS_ENVIRONMENT = $(top_builddir)/run --test
 
 EXTRA_DIST = \
 	$(TESTS) \
+	guestfs-md5.sh \
 	qemu-boot.c \
 	qemu-speed-test.c
 
diff --git a/tests/qemu/guestfs-md5.sh b/tests/qemu/guestfs-md5.sh
new file mode 100755
index 0000000..79dbd67
--- /dev/null
+++ b/tests/qemu/guestfs-md5.sh
@@ -0,0 +1,30 @@
+#!/bin/bash -
+# libguestfs
+# Copyright (C) 2014 Red Hat Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+do_md5 ()
+{
+  case "$(uname)" in
+    Linux)
+      md5sum "$1" | awk '{print $1}'
+      ;;
+    *)
+      echo "$0: unknown method to calculate MD5 of file on $(uname)"
+      exit 1
+      ;;
+  esac
+}
diff --git a/tests/qemu/qemu-liveness.sh b/tests/qemu/qemu-liveness.sh
index 4db71bd..7129bb2 100755
--- a/tests/qemu/qemu-liveness.sh
+++ b/tests/qemu/qemu-liveness.sh
@@ -22,10 +22,12 @@
 
 set -e
 
+. $srcdir/guestfs-md5.sh
+
 rm -f liveness1.img
 
 guestfish sparse liveness1.img 100M
-liveness1_md5sum="$(md5sum liveness1.img | awk '{print $1}')"
+liveness1_md5sum="$(do_md5 liveness1.img)"
 
 guestfish <<'EOF'
 add liveness1.img format:raw
@@ -41,7 +43,7 @@ write /test "This is a test"
 EOF
 
 # Verify that the disk has changed.
-if [ "$(md5sum liveness1.img | awk '{print $1}')" = "$liveness1_md5sum" ]; then
+if [ "$(do_md5 liveness1.img)" = "$liveness1_md5sum" ]; then
     echo "***** ERROR *****"
     echo "Write operations are not modifying an attached disk."
     echo
diff --git a/tests/qemu/qemu-snapshot-isolation.sh b/tests/qemu/qemu-snapshot-isolation.sh
index daa210f..c217dc4 100755
--- a/tests/qemu/qemu-snapshot-isolation.sh
+++ b/tests/qemu/qemu-snapshot-isolation.sh
@@ -22,6 +22,8 @@
 
 set -e
 
+. $srcdir/guestfs-md5.sh
+
 # UML backend doesn't support qcow2 format.
 supports_qcow2=yes
 if [ "$(guestfish get-backend)" = "uml" ]; then
@@ -31,14 +33,14 @@ fi
 rm -f isolation1.img isolation2.img isolation3.img
 
 guestfish sparse isolation1.img 100M
-isolation1_md5sum="$(md5sum isolation1.img | awk '{print $1}')"
+isolation1_md5sum="$(do_md5 isolation1.img)"
 guestfish sparse isolation2.img 100M
-isolation2_md5sum="$(md5sum isolation2.img | awk '{print $1}')"
+isolation2_md5sum="$(do_md5 isolation2.img)"
 
 if [ "$supports_qcow2" = "yes" ]; then
     guestfish \
         disk-create isolation3.img qcow2 100M preallocation:metadata
-    isolation3_md5sum="$(md5sum isolation3.img | awk '{print $1}')"
+    isolation3_md5sum="$(do_md5 isolation3.img)"
     add3="add-drive-opts isolation3.img format:qcow2 readonly:true"
     cmds3="
       part-disk /dev/sdc mbr
@@ -92,14 +94,14 @@ function serious_error
     exit 1
 }
 
-if [ "$(md5sum isolation1.img | awk '{print $1}')" != "$isolation1_md5sum" ]; then
+if [ "$(do_md5 isolation1.img)" != "$isolation1_md5sum" ]; then
     serious_error
 fi
-if [ "$(md5sum isolation2.img | awk '{print $1}')" != "$isolation2_md5sum" ]; then
+if [ "$(do_md5 isolation2.img)" != "$isolation2_md5sum" ]; then
     serious_error
 fi
 if [ "$supports_qcow2" = "yes" -a \
-     "$(md5sum isolation3.img | awk '{print $1}')" != "$isolation3_md5sum" ]; then
+     "$(do_md5 isolation3.img)" != "$isolation3_md5sum" ]; then
     serious_error
 fi
 

-- 
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