diff options
author | Richard W.M. Jones <rjones@redhat.com> | 2011-01-04 16:05:11 +0000 |
---|---|---|
committer | Richard W.M. Jones <rjones@redhat.com> | 2011-01-04 16:18:27 +0000 |
commit | 7ce627fce02eae8c7db36b4090fa0ce1bf69bf44 (patch) | |
tree | 035da8f420996286459dc118bb879b01e6f4d9ee /regressions/test-guestfish-tilde.sh | |
parent | a9802509184341e731de5c9af363184a9964a8a7 (diff) | |
download | libguestfs-7ce627fce02eae8c7db36b4090fa0ce1bf69bf44.tar.gz libguestfs-7ce627fce02eae8c7db36b4090fa0ce1bf69bf44.tar.xz libguestfs-7ce627fce02eae8c7db36b4090fa0ce1bf69bf44.zip |
fish: fails to tilde expand '~' when $HOME env is unset (RHBZ#617440).
This also adds a regression test.
Diffstat (limited to 'regressions/test-guestfish-tilde.sh')
-rwxr-xr-x | regressions/test-guestfish-tilde.sh | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/regressions/test-guestfish-tilde.sh b/regressions/test-guestfish-tilde.sh new file mode 100755 index 00000000..8ba59045 --- /dev/null +++ b/regressions/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., 675 Mass Ave, Cambridge, MA 02139, 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 |