Imported from ../bash-4.0-rc1.tar.gz.
[platform/upstream/bash.git] / tests / redir.tests
index 2669cd4..37759b5 100644 (file)
@@ -1,3 +1,5 @@
+: ${TMPDIR:=/tmp}
+
 export LC_ALL=C
 export LANG=C
 
@@ -31,31 +33,31 @@ cat < $z
 echo "Point 1"
 
 exec 3</etc/passwd
-exec 4>/tmp/bash-a
-exec 5>/tmp/bash-b
+exec 4>$TMPDIR/bash-a
+exec 5>$TMPDIR/bash-b
 echo "Point 2"
 
 echo to a 1>&4
 echo to b 1>&5
-cat /tmp/bash-a
-cat /tmp/bash-b
+cat $TMPDIR/bash-a
+cat $TMPDIR/bash-b
 exec 11</dev/null
 echo "Point 3"
 
 echo to a 1>&4
 echo to b 1>&5
-cat /tmp/bash-a
-cat /tmp/bash-b
+cat $TMPDIR/bash-a
+cat $TMPDIR/bash-b
 
 exec 11<&-
 echo "Point 4"
 
-exec 6<>/tmp/bash-c
+exec 6<>$TMPDIR/bash-c
 echo to c 1>&6
-cat /tmp/bash-c
+cat $TMPDIR/bash-c
 echo "Point 5"
 
-rm -f /tmp/bash-a /tmp/bash-b /tmp/bash-c
+rm -f $TMPDIR/bash-a $TMPDIR/bash-b $TMPDIR/bash-c
 
 #
 # Test the effect of input buffering on the shell's input
@@ -78,34 +80,34 @@ testf()
        fi
 }
 
-> /tmp/null-redir-a
-testf /tmp/null-redir-a
+> $TMPDIR/null-redir-a
+testf $TMPDIR/null-redir-a
 
-$EXIT > /tmp/null-redir-b
-testf /tmp/null-redir-b
+$EXIT > $TMPDIR/null-redir-b
+testf $TMPDIR/null-redir-b
 
-( > /tmp/null-redir-c )
-testf /tmp/null-redir-c
+( > $TMPDIR/null-redir-c )
+testf $TMPDIR/null-redir-c
 
-$EXIT > /tmp/null-redir-d &
+$EXIT > $TMPDIR/null-redir-d &
 wait
-testf /tmp/null-redir-d
+testf $TMPDIR/null-redir-d
 
-exit 3 | $EXIT > /tmp/null-redir-e
+exit 3 | $EXIT > $TMPDIR/null-redir-e
 echo $? -- ${PIPESTATUS[@]}
-testf /tmp/null-redir-e
+testf $TMPDIR/null-redir-e
 
-exit 4 | > /tmp/null-redir-f
+exit 4 | > $TMPDIR/null-redir-f
 echo $? -- ${PIPESTATUS[@]}
-testf /tmp/null-redir-f
+testf $TMPDIR/null-redir-f
 
-> /tmp/null-redir-g &
+> $TMPDIR/null-redir-g &
 wait
-testf /tmp/null-redir-g
+testf $TMPDIR/null-redir-g
 
-exec >/tmp/null-redir-h &
+exec >$TMPDIR/null-redir-h &
 wait
-testf /tmp/null-redir-h
+testf $TMPDIR/null-redir-h
 
 # make sure async commands don't get /dev/null as stdin when an explicit
 # input redirection is supplied
@@ -158,7 +160,7 @@ ${THIS_SH} ./redir5.sub
 ${THIS_SH} ./redir6.sub
 
 # problem with redirections using fds bash uses internally
-: ${TMPDIR:=/tmp}
+: ${TMPDIR:=$TMPDIR}
 
 trap 'rm -f $TMPDIR/bash-redir-$$' 0 1 2 3 6 15
 
@@ -172,3 +174,16 @@ echo before block
 echo after block
 
 ${THIS_SH} ./redir7.sub
+
+${THIS_SH} ./redir8.sub
+
+exec 9>&2
+command exec 2>$TMPDIR/foo-$$
+echo whatsis >&2
+echo cat /tmp/foo
+cat $TMPDIR/foo-$$
+rm -f $TMPDIR/foo-$$
+exec 2>&9
+exec 9>&-
+
+${THIS_SH} ./redir9.sub