sh testsuite: sync ash-redir/ and hush-redir/

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2016-10-02 18:32:52 +02:00
parent c7a774dde4
commit df303ae117
18 changed files with 313 additions and 114 deletions

View File

@ -0,0 +1 @@
Ok

View File

@ -0,0 +1,2 @@
echo NOT SHOWN \2>/dev/null
echo Ok

View File

@ -0,0 +1,18 @@
shell_test
\shell_test
\shell_test
\shell_test
Here1
Ok1
Here2
Ok2
Here3
Ok3
Here4
Ok4
Now with variable refs
shell_test_1
\shell_test_1
\shell_test_1
\shell_test_1
Done

View File

@ -0,0 +1,85 @@
rm *shell_test* 2>/dev/null
>\shell_test
echo *shell_test*
rm *shell_test*
>\\shell_test
echo *shell_test*
rm *shell_test*
>"\shell_test"
echo *shell_test*
rm *shell_test*
>"\\shell_test"
echo *shell_test*
rm *shell_test*
cat <<\shell_test
Here1
shell_test
echo Ok1
cat <<\\shell_test
Here2
\shell_test
echo Ok2
cat <<"\shell_test"
Here3
\shell_test
echo Ok3
cat <<"\\shell_test"
Here4
\shell_test
echo Ok4
echo Now with variable refs
i=1
>\shell_test_$i
echo *shell_test*
rm *shell_test*
>\\shell_test_$i
echo *shell_test*
rm *shell_test*
>"\shell_test_$i"
echo *shell_test*
rm *shell_test*
>"\\shell_test_$i"
echo *shell_test*
rm *shell_test*
echo Done;exit
# UNFIXED BUG. bash apparently will expand $i even in terminating delimiter.
# http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html
# does not mandate this behavior.
# This is not likely to be used much in real-world.
cat <<\shell_test_$i
Here1
shell_test_$i
echo Ok1
cat <<\\shell_test_$i
Here2
\shell_test_$i
echo Ok2
cat <<"\shell_test_$i"
Here3
\shell_test_$i
echo Ok3
cat <<"\\shell_test_$i"
Here4
\shell_test_$i
echo Ok4

View File

@ -0,0 +1,4 @@
Testing multiple redirections to same fd
Hello
Done1
Done2

View File

@ -0,0 +1,5 @@
echo "Testing multiple redirections to same fd"
# bug was making us lose fd #1 after this:
echo Hello >/dev/null 1>&2
echo Done1
echo Done2 >&2

View File

@ -1 +1 @@
Ok
OK

View File

@ -1,2 +1,5 @@
echo NOT SHOWN \2>/dev/null
echo Ok
# ash once couldn't redirect above fd#9
exec 1>/dev/null
(echo LOST1 >&22) 22>&1
(echo LOST2 >&22) 22>&1
(echo OK >&22) 22>&2

View File

@ -1,18 +1 @@
shell_test
\shell_test
\shell_test
\shell_test
Here1
Ok1
Here2
Ok2
Here3
Ok3
Here4
Ok4
Now with variable refs
shell_test_1
\shell_test_1
\shell_test_1
\shell_test_1
Done
OK

View File

@ -1,85 +1,72 @@
rm *shell_test* 2>/dev/null
>\shell_test
echo *shell_test*
rm *shell_test*
>\\shell_test
echo *shell_test*
rm *shell_test*
>"\shell_test"
echo *shell_test*
rm *shell_test*
>"\\shell_test"
echo *shell_test*
rm *shell_test*
cat <<\shell_test
Here1
shell_test
echo Ok1
cat <<\\shell_test
Here2
\shell_test
echo Ok2
cat <<"\shell_test"
Here3
\shell_test
echo Ok3
cat <<"\\shell_test"
Here4
\shell_test
echo Ok4
echo Now with variable refs
i=1
>\shell_test_$i
echo *shell_test*
rm *shell_test*
>\\shell_test_$i
echo *shell_test*
rm *shell_test*
>"\shell_test_$i"
echo *shell_test*
rm *shell_test*
>"\\shell_test_$i"
echo *shell_test*
rm *shell_test*
echo Done;exit
# UNFIXED BUG. bash apparently will expand $i even in terminating delimiter.
# http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html
# does not mandate this behavior.
# This is not likely to be used much in real-world.
cat <<\shell_test_$i
Here1
shell_test_$i
echo Ok1
cat <<\\shell_test_$i
Here2
\shell_test_$i
echo Ok2
cat <<"\shell_test_$i"
Here3
\shell_test_$i
echo Ok3
cat <<"\\shell_test_$i"
Here4
\shell_test_$i
echo Ok4
# ash uses fd 10 (usually) for reading the script
exec 13>&-
exec 12>&-
exec 11>&-
exec 10>&-
# some amount of input is prefetched.
# make sure final echo is far enough to not be prefetched.
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
###############################################################
echo "OK"

View File

@ -1,4 +1,2 @@
Testing multiple redirections to same fd
Hello
Done1
Done2
OK

View File

@ -1,5 +1,3 @@
echo "Testing multiple redirections to same fd"
# bug was making us lose fd #1 after this:
echo Hello >/dev/null 1>&2
echo Done1
echo Done2 >&2
# we had a bug where this would hang
(head -n 1 <redir6.right)
echo OK

View File

@ -0,0 +1 @@
Ok

View File

@ -0,0 +1,2 @@
echo NOT SHOWN \2>/dev/null
echo Ok

View File

@ -0,0 +1,18 @@
shell_test
\shell_test
\shell_test
\shell_test
Here1
Ok1
Here2
Ok2
Here3
Ok3
Here4
Ok4
Now with variable refs
shell_test_1
\shell_test_1
\shell_test_1
\shell_test_1
Done

View File

@ -0,0 +1,85 @@
rm *shell_test* 2>/dev/null
>\shell_test
echo *shell_test*
rm *shell_test*
>\\shell_test
echo *shell_test*
rm *shell_test*
>"\shell_test"
echo *shell_test*
rm *shell_test*
>"\\shell_test"
echo *shell_test*
rm *shell_test*
cat <<\shell_test
Here1
shell_test
echo Ok1
cat <<\\shell_test
Here2
\shell_test
echo Ok2
cat <<"\shell_test"
Here3
\shell_test
echo Ok3
cat <<"\\shell_test"
Here4
\shell_test
echo Ok4
echo Now with variable refs
i=1
>\shell_test_$i
echo *shell_test*
rm *shell_test*
>\\shell_test_$i
echo *shell_test*
rm *shell_test*
>"\shell_test_$i"
echo *shell_test*
rm *shell_test*
>"\\shell_test_$i"
echo *shell_test*
rm *shell_test*
echo Done;exit
# UNFIXED BUG. bash apparently will expand $i even in terminating delimiter.
# http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html
# does not mandate this behavior.
# This is not likely to be used much in real-world.
cat <<\shell_test_$i
Here1
shell_test_$i
echo Ok1
cat <<\\shell_test_$i
Here2
\shell_test_$i
echo Ok2
cat <<"\shell_test_$i"
Here3
\shell_test_$i
echo Ok3
cat <<"\\shell_test_$i"
Here4
\shell_test_$i
echo Ok4

View File

@ -0,0 +1,4 @@
Testing multiple redirections to same fd
Hello
Done1
Done2

View File

@ -0,0 +1,5 @@
echo "Testing multiple redirections to same fd"
# bug was making us lose fd #1 after this:
echo Hello >/dev/null 1>&2
echo Done1
echo Done2 >&2