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-btrfs-devices.sh#L29 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 _______________________________________________ Libguestfs mailing list [email protected] https://www.redhat.com/mailman/listinfo/libguestfs
