sh testsuite: create hush-redir/* and move files around
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
Ok
|
||||
Ok
|
||||
Done
|
||||
Executable
+12
@@ -0,0 +1,12 @@
|
||||
# Chars above 0x7f are used as special codes.
|
||||
# 0x81 is CTLESC (see ash.c).
|
||||
# The bug was that quoting and unquoting of them
|
||||
# was out of sync for redirect filenames.
|
||||
|
||||
>unicode.sh
|
||||
printf 'echo Ok >uni\x81code\n' >>unicode.sh
|
||||
printf 'cat uni\x81code\n' >>unicode.sh
|
||||
printf 'cat uni?code\n' >>unicode.sh
|
||||
. ./unicode.sh
|
||||
rm uni*code*
|
||||
echo Done
|
||||
@@ -0,0 +1,3 @@
|
||||
Ok
|
||||
Ok
|
||||
Done
|
||||
Executable
+15
@@ -0,0 +1,15 @@
|
||||
# Chars above 0x7f are used as special codes.
|
||||
# 0x81 is CTLESC (see ash.c).
|
||||
# The bug was that quoting and unquoting of them
|
||||
# was out of sync for redirect filenames.
|
||||
|
||||
# Subcase when redirect filename is specified in a variable.
|
||||
|
||||
>unicode.sh
|
||||
printf 'v=uni\x81code\n' >>unicode.sh
|
||||
printf 'echo Ok >"$v"\n' >>unicode.sh
|
||||
printf 'cat uni\x81code\n' >>unicode.sh
|
||||
printf 'cat uni?code\n' >>unicode.sh
|
||||
. ./unicode.sh
|
||||
rm uni*code*
|
||||
echo Done
|
||||
@@ -0,0 +1,2 @@
|
||||
Ok
|
||||
Done:0
|
||||
Executable
+4
@@ -0,0 +1,4 @@
|
||||
echo Ok >file.tmp
|
||||
cat 0<>file.tmp
|
||||
echo Done:$?
|
||||
rm file.tmp
|
||||
@@ -0,0 +1,2 @@
|
||||
tmp11
|
||||
tmp11
|
||||
Executable
+11
@@ -0,0 +1,11 @@
|
||||
x="tmp11:tmp22"
|
||||
|
||||
# Bug was incorrectly expanding variables in >redir
|
||||
echo "${x%:*}" >"${x%:*}"
|
||||
echo tmp1*
|
||||
rm tmp1*
|
||||
|
||||
# Also try unquoted
|
||||
echo "${x%:*}" >${x%:*}
|
||||
echo tmp1*
|
||||
rm tmp1*
|
||||
Reference in New Issue
Block a user