X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=fish%2Ftest-guestfish-tilde.sh;fp=fish%2Ftest-guestfish-tilde.sh;h=aed44311f15fd8f9f438478b3afa15ef8b501778;hp=0000000000000000000000000000000000000000;hb=498758faee6be7e989869bf7feba5e1026a1bb65;hpb=5d93d70b4d36b2337104b3dbca07722fa4d47ff5;ds=sidebyside diff --git a/fish/test-guestfish-tilde.sh b/fish/test-guestfish-tilde.sh new file mode 100755 index 0000000..aed4431 --- /dev/null +++ b/fish/test-guestfish-tilde.sh @@ -0,0 +1,70 @@ +#!/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. + +# Test guestfish tilde expansion. +# RHBZ#617440 guestfish: fails to tilde expand '~' when the $HOME env is unset +# RHBZ#511372 guestfish doesn't understand '~' in filenames +# and multiple other fixes to tilde handling. + +set -e + +# Don't rely on $HOME being set when this script is called. +HOME=$(pwd) +export HOME + +if [ `echo 'echo ~' | ../fish/guestfish` != "$HOME" ]; then + echo "$0: failed: did not expand ~ correctly" + exit 1 +fi + +if [ `echo 'echo ~/foo' | ../fish/guestfish` != "$HOME/foo" ]; then + echo "$0: failed: did not expand ~/foo correctly" + exit 1 +fi + +# We can be reasonably sure that the root user will always exist and +# should have a home directory. +root="$(echo ~root)" + +if [ `echo 'echo ~root' | ../fish/guestfish` != "$root" ]; then + echo "$0: failed: did not expand ~root correctly" + exit 1 +fi + +if [ `echo 'echo ~root/foo' | ../fish/guestfish` != "$root/foo" ]; then + echo "$0: failed: did not expand ~root/foo correctly" + exit 1 +fi + +# RHBZ#617440 +unset HOME +home="$(echo ~)" + +if [ `echo 'echo ~' | ../fish/guestfish` != "$home" ]; then + echo "$0: failed: did not expand ~ correctly when \$HOME unset" + exit 1 +fi + +if [ `echo 'echo ~/foo' | ../fish/guestfish` != "$home/foo" ]; then + echo "$0: failed: did not expand ~/foo correctly when \$HOME unset" + exit 1 +fi + +# Setting $HOME to pwd above causes guestfish to create a history +# file. Remove it. +rm -f .guestfish \ No newline at end of file