Suppress some bash redirection error messages

In particular, when testing if the filesystem allows tabs in
filenames, bash issues an error something like:

./t4016-diff-quote.sh: pathname	with HT: No such file or directory

which is caused by the failure of the (stdout) redirection,
since the file cannot be created. In order to suppress the
error message, you must redirect stderr to /dev/null, *before*
the stdout redirection on the command-line.

Also, remove a redundant filesystem check from the begining of
the t3902-quoted.sh test and standardise the "test skipped"
message to 'say' on exit.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Ramsay Jones 2008-08-26 18:52:57 +01:00 committed by Junio C Hamano
parent d47fb8b099
commit 2b84373219
3 changed files with 4 additions and 10 deletions

View File

@ -21,7 +21,7 @@ cat >"$p0" <<\EOF
3. A quick brown fox jumps over the lazy cat, oops dog.
EOF
cat >"$p1" "$p0"
cat 2>/dev/null >"$p1" "$p0"
echo 'Foo Bar Baz' >"$p2"
test -f "$p1" && cmp "$p0" "$p1" || {

View File

@ -7,12 +7,6 @@ test_description='quoted output'
. ./test-lib.sh
P1='pathname with HT'
: >"$P1" 2>&1 && test -f "$P1" && rm -f "$P1" || {
echo >&2 'Filesystem does not support HT in names'
test_done
}
FN='濱野'
GN='純'
HT=' '
@ -20,7 +14,7 @@ LF='
'
DQ='"'
echo foo > "Name and an${HT}HT"
echo foo 2>/dev/null > "Name and an${HT}HT"
test -f "Name and an${HT}HT" || {
# since FAT/NTFS does not allow tabs in filenames, skip this test
say 'Your filesystem does not allow tabs in filenames, test skipped.'

View File

@ -13,8 +13,8 @@ P1='pathname with HT'
P2='pathname with SP'
P3='pathname
with LF'
: >"$P1" 2>&1 && test -f "$P1" && rm -f "$P1" || {
echo >&2 'Filesystem does not support tabs in names'
: 2>/dev/null >"$P1" && test -f "$P1" && rm -f "$P1" || {
say 'Your filesystem does not allow tabs in filenames, test skipped.'
test_done
}