diff options
author | Richard W.M. Jones <rjones@redhat.com> | 2012-05-02 16:33:40 +0100 |
---|---|---|
committer | Richard W.M. Jones <rjones@redhat.com> | 2012-05-02 16:35:43 +0100 |
commit | 66a525ce5a4e95fb8576ea183e06e1eb730a135d (patch) | |
tree | 9988868fd1afc35022a1db43610184c7df147e88 /fish | |
parent | 620ad8eb1a5df298c5701a7b438b12f9627f06ab (diff) | |
download | libguestfs-66a525ce5a4e95fb8576ea183e06e1eb730a135d.tar.gz libguestfs-66a525ce5a4e95fb8576ea183e06e1eb730a135d.tar.xz libguestfs-66a525ce5a4e95fb8576ea183e06e1eb730a135d.zip |
fish: Add a regression test for the 'glob' command.
Diffstat (limited to 'fish')
-rw-r--r-- | fish/Makefile.am | 2 | ||||
-rwxr-xr-x | fish/test-glob.sh | 105 |
2 files changed, 107 insertions, 0 deletions
diff --git a/fish/Makefile.am b/fish/Makefile.am index d809ba17..6b52820b 100644 --- a/fish/Makefile.am +++ b/fish/Makefile.am @@ -248,6 +248,7 @@ TESTS += \ test-copy.sh \ test-edit.sh \ test-find0.sh \ + test-glob.sh \ test-mount-local.sh \ test-read_file.sh \ test-remote.sh \ @@ -265,6 +266,7 @@ EXTRA_DIST += \ test-escapes.sh \ test-events.sh \ test-find0.sh \ + test-glob.sh \ test-mount-local.sh \ test-read_file.sh \ test-remote.sh \ diff --git a/fish/test-glob.sh b/fish/test-glob.sh new file mode 100755 index 00000000..0d54dbec --- /dev/null +++ b/fish/test-glob.sh @@ -0,0 +1,105 @@ +#!/bin/bash - +# libguestfs +# Copyright (C) 2012 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. + +# Test guestfish glob command. + +set -e + +rm -f test.img test.out + +./guestfish > test.out <<EOF + +sparse test.img 1G +run + +pvcreate /dev/sda +# Because glob doesn't do device name translation, we cannot test +# matching on /dev/sd* paths, only on LVs. So choose a volume group +# name that cannot possibly be a device name. +vgcreate abc /dev/sda +lvcreate lv1 abc 64 +lvcreate lv2 abc 64 +lvcreate lv3 abc 64 + +glob mkfs ext2 /dev/abc/* +mount /dev/abc/lv1 / + +mkdir /foo +touch /abc +touch /foo/bar1 +touch /foo/bar2 + +# Regular file globbing. +echo files +glob echo /f* +glob echo /foo/* +glob echo /foo/not* +glob echo /foo/b??1 +glob echo /abc + +# Device globbing. +echo devices +glob echo /dev/a* +glob echo /dev/a*/* +glob echo /dev/a*/not* +glob echo /dev/a*/lv? +glob echo /dev/a*/lv +glob echo /dev/a*/*3 +glob echo /dev/a*/* /dev/a* +glob echo /dev/a*/* /dev/a*/* + +echo end +EOF + +if [ "$(cat test.out)" != "files +/foo/ +/foo/bar1 +/foo/bar2 +/foo/not* +/foo/bar1 +/abc +devices +/dev/a* +/dev/abc/lv1 +/dev/abc/lv2 +/dev/abc/lv3 +/dev/a*/not* +/dev/abc/lv1 +/dev/abc/lv2 +/dev/abc/lv3 +/dev/a*/lv +/dev/abc/lv3 +/dev/abc/lv1 /dev/a* +/dev/abc/lv2 /dev/a* +/dev/abc/lv3 /dev/a* +/dev/abc/lv1 /dev/abc/lv1 +/dev/abc/lv1 /dev/abc/lv2 +/dev/abc/lv1 /dev/abc/lv3 +/dev/abc/lv2 /dev/abc/lv1 +/dev/abc/lv2 /dev/abc/lv2 +/dev/abc/lv2 /dev/abc/lv3 +/dev/abc/lv3 /dev/abc/lv1 +/dev/abc/lv3 /dev/abc/lv2 +/dev/abc/lv3 /dev/abc/lv3 +end" ]; then + echo "$0: error: unexpected output from glob command" + cat test.out + exit 1 +fi + +rm -f test.img test.out |