On Tue, Feb 12, 2013 at 11:04:26AM +0000, Matthew Booth wrote:
---
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
This is fine. It would be good to add a way to skip this test
since it involves btrfs, cf:
https://github.com/libguestfs/libguestfs/blob/master/tests/btrfs/test-btr...
ACK.
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
libguestfs lets you edit virtual machines. Supports shell scripting,
bindings from many languages.
http://libguestfs.org