[Libguestfs] [PATCH 7/7] mountable: Test inspection of fedora image

Matthew Booth mbooth at redhat.com
Tue Feb 12 11:04:26 UTC 2013


---
 tests/mountable/Makefile.am     |  2 +-
 tests/mountable/test-inspect.sh | 57 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 58 insertions(+), 1 deletion(-)
 create mode 100755 tests/mountable/test-inspect.sh

diff --git a/tests/mountable/Makefile.am b/tests/mountable/Makefile.am
index d50947f..f4b6e01 100644
--- a/tests/mountable/Makefile.am
+++ b/tests/mountable/Makefile.am
@@ -19,7 +19,7 @@ include $(top_srcdir)/subdir-rules.mk
 
 TESTS_ENVIRONMENT = $(top_builddir)/run --test
 
-TESTS=test-internal_parse_mountable
+TESTS=test-internal_parse_mountable test-inspect.sh
 check_PROGRAMS = test-internal_parse_mountable
 
 test_internal_parse_mountable_SOURCES = test-internal_parse_mountable.c
diff --git a/tests/mountable/test-inspect.sh b/tests/mountable/test-inspect.sh
new file mode 100755
index 0000000..2ad3c1b
--- /dev/null
+++ b/tests/mountable/test-inspect.sh
@@ -0,0 +1,57 @@
+#!/bin/bash -
+# libguestfs
+# Copyright (C) 2013 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.
+
+set -e
+export LANG=C
+
+guestfish=../../fish/guestfish
+canonical="sed s,/dev/vd,/dev/sd,g"
+
+rm -f test.qcow2 test.output
+
+# Start with the regular (good) fedora image, modify /etc/fstab
+# and then inspect it.
+qemu-img create -F raw -b ../guests/fedora-btrfs.img -f qcow2 test.qcow2
+
+# Test that basic inspection works and the expected filesystems are
+# found
+$guestfish -a test.qcow2 -i <<'EOF' | sort | $canonical > test.output
+  inspect-get-mountpoints btrfsvol:/dev/sda2/root
+EOF
+
+if [ "$(cat test.output)" != "/: btrfsvol:/dev/sda2/root
+/boot: /dev/sda1
+/home: btrfsvol:/dev/sda2/home" ]; then
+    echo "$0: error #1: unexpected output from inspect-get-mountpoints"
+    cat test.output
+    exit 1
+fi
+
+# Additional sanity check: did we get the release name right?
+$guestfish -a test.qcow2 -i <<'EOF' > test.output
+  inspect-get-product-name btrfsvol:/dev/sda2/root
+EOF
+
+if [ "$(cat test.output)" != "Fedora release 14 (Phony)"]; then
+    echo "$0: error #2: unexpected output from inspect-get-product-name"
+    cat test.output
+    exit 1
+fi
+
+rm test.qcow2
+rm test.output
-- 
1.8.1.2




More information about the Libguestfs mailing list