From: Richard W.M. Jones Date: Thu, 22 Dec 2011 15:09:19 +0000 (+0000) Subject: tests: Add a simple liveness tests for qemu. X-Git-Tag: 1.15.12~1 X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=commitdiff_plain;h=1fcec724aa565eac6604eae249f674ad47e9f8a5 tests: Add a simple liveness tests for qemu. --- diff --git a/tests/qemu/Makefile.am b/tests/qemu/Makefile.am index 402921f..f2bdeb2 100644 --- a/tests/qemu/Makefile.am +++ b/tests/qemu/Makefile.am @@ -22,6 +22,7 @@ include $(top_srcdir)/subdir-rules.mk TESTS = \ + qemu-liveness.sh \ qemu-snapshot-isolation.sh random_val := $(shell awk 'BEGIN{srand(); print 1+int(255*rand())}' < /dev/null) diff --git a/tests/qemu/qemu-liveness.sh b/tests/qemu/qemu-liveness.sh new file mode 100755 index 0000000..945b2a2 --- /dev/null +++ b/tests/qemu/qemu-liveness.sh @@ -0,0 +1,52 @@ +#!/bin/bash - +# libguestfs +# Copyright (C) 2011 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. + +# Boot and check that writes work. +# Note this is the first boot test that we run, so it's looking for +# all sorts of qemu/kernel/febootstrap problems. + +set -e + +rm -f test1.img + +truncate -s 100M test1.img +test1_md5sum="$(md5sum test1.img | awk '{print $1}')" + +../../fish/guestfish <<'EOF' +add-drive-opts test1.img format:raw +run + +part-disk /dev/sda mbr + +mkfs ext2 /dev/sda1 +mount /dev/sda1 / + +write /test "This is a test" + +EOF + +# Verify that the disk has changed. +if [ "$(md5sum test1.img | awk '{print $1}')" = "$test1_md5sum" ]; then + echo "***** ERROR *****" + echo "Write operations are not modifying an attached disk." + echo + echo "Check to see if any errors or warnings are printed above." + exit 1 +fi + +rm test1.img \ No newline at end of file