summaryrefslogtreecommitdiff
path: root/shell/hush_test
diff options
context:
space:
mode:
Diffstat (limited to 'shell/hush_test')
-rw-r--r--shell/hush_test/hush-redir/redir1.right (renamed from shell/hush_test/hush-misc/redir1.right)0
-rwxr-xr-xshell/hush_test/hush-redir/redir1.tests (renamed from shell/hush_test/hush-misc/redir1.tests)0
-rw-r--r--shell/hush_test/hush-redir/redir2.right (renamed from shell/hush_test/hush-misc/redir2.right)0
-rwxr-xr-xshell/hush_test/hush-redir/redir2.tests (renamed from shell/hush_test/hush-misc/redir2.tests)0
-rw-r--r--shell/hush_test/hush-redir/redir3.right (renamed from shell/hush_test/hush-misc/redir3.right)0
-rwxr-xr-xshell/hush_test/hush-redir/redir3.tests (renamed from shell/hush_test/hush-misc/redir3.tests)0
-rw-r--r--shell/hush_test/hush-redir/redir4.right (renamed from shell/hush_test/hush-misc/redir4.right)0
-rwxr-xr-xshell/hush_test/hush-redir/redir4.tests (renamed from shell/hush_test/hush-misc/redir4.tests)0
-rw-r--r--shell/hush_test/hush-redir/redir5.right (renamed from shell/hush_test/hush-misc/redir5.right)0
-rwxr-xr-xshell/hush_test/hush-redir/redir5.tests (renamed from shell/hush_test/hush-misc/redir5.tests)0
-rw-r--r--shell/hush_test/hush-redir/redir6.right (renamed from shell/hush_test/hush-misc/redir6.right)0
-rwxr-xr-xshell/hush_test/hush-redir/redir6.tests (renamed from shell/hush_test/hush-misc/redir6.tests)0
-rw-r--r--shell/hush_test/hush-redir/redir7.right3
-rwxr-xr-xshell/hush_test/hush-redir/redir7.tests12
-rw-r--r--shell/hush_test/hush-redir/redir8.right3
-rwxr-xr-xshell/hush_test/hush-redir/redir8.tests15
-rw-r--r--shell/hush_test/hush-redir/redir9.right2
-rwxr-xr-xshell/hush_test/hush-redir/redir9.tests4
-rw-r--r--shell/hush_test/hush-redir/redirA.right2
-rwxr-xr-xshell/hush_test/hush-redir/redirA.tests11
-rw-r--r--shell/hush_test/hush-redir/redir_script.right (renamed from shell/hush_test/hush-misc/redir_script.right)0
-rwxr-xr-xshell/hush_test/hush-redir/redir_script.tests (renamed from shell/hush_test/hush-misc/redir_script.tests)0
-rw-r--r--shell/hush_test/hush-redir/redir_space.right (renamed from shell/hush_test/hush-parsing/redir_space.right)0
-rwxr-xr-xshell/hush_test/hush-redir/redir_space.tests (renamed from shell/hush_test/hush-parsing/redir_space.tests)0
24 files changed, 52 insertions, 0 deletions
diff --git a/shell/hush_test/hush-misc/redir1.right b/shell/hush_test/hush-redir/redir1.right
index 15515d1..15515d1 100644
--- a/shell/hush_test/hush-misc/redir1.right
+++ b/shell/hush_test/hush-redir/redir1.right
diff --git a/shell/hush_test/hush-misc/redir1.tests b/shell/hush_test/hush-redir/redir1.tests
index ef2fbfb..ef2fbfb 100755
--- a/shell/hush_test/hush-misc/redir1.tests
+++ b/shell/hush_test/hush-redir/redir1.tests
diff --git a/shell/hush_test/hush-misc/redir2.right b/shell/hush_test/hush-redir/redir2.right
index 7326d96..7326d96 100644
--- a/shell/hush_test/hush-misc/redir2.right
+++ b/shell/hush_test/hush-redir/redir2.right
diff --git a/shell/hush_test/hush-misc/redir2.tests b/shell/hush_test/hush-redir/redir2.tests
index 81983ca..81983ca 100755
--- a/shell/hush_test/hush-misc/redir2.tests
+++ b/shell/hush_test/hush-redir/redir2.tests
diff --git a/shell/hush_test/hush-misc/redir3.right b/shell/hush_test/hush-redir/redir3.right
index 3d20bbf..3d20bbf 100644
--- a/shell/hush_test/hush-misc/redir3.right
+++ b/shell/hush_test/hush-redir/redir3.right
diff --git a/shell/hush_test/hush-misc/redir3.tests b/shell/hush_test/hush-redir/redir3.tests
index 7c28e43..7c28e43 100755
--- a/shell/hush_test/hush-misc/redir3.tests
+++ b/shell/hush_test/hush-redir/redir3.tests
diff --git a/shell/hush_test/hush-misc/redir4.right b/shell/hush_test/hush-redir/redir4.right
index ead25f6..ead25f6 100644
--- a/shell/hush_test/hush-misc/redir4.right
+++ b/shell/hush_test/hush-redir/redir4.right
diff --git a/shell/hush_test/hush-misc/redir4.tests b/shell/hush_test/hush-redir/redir4.tests
index c50b8ce..c50b8ce 100755
--- a/shell/hush_test/hush-misc/redir4.tests
+++ b/shell/hush_test/hush-redir/redir4.tests
diff --git a/shell/hush_test/hush-misc/redir5.right b/shell/hush_test/hush-redir/redir5.right
index 52cce4f..52cce4f 100644
--- a/shell/hush_test/hush-misc/redir5.right
+++ b/shell/hush_test/hush-redir/redir5.right
diff --git a/shell/hush_test/hush-misc/redir5.tests b/shell/hush_test/hush-redir/redir5.tests
index 957f9c8..957f9c8 100755
--- a/shell/hush_test/hush-misc/redir5.tests
+++ b/shell/hush_test/hush-redir/redir5.tests
diff --git a/shell/hush_test/hush-misc/redir6.right b/shell/hush_test/hush-redir/redir6.right
index a97c4bd..a97c4bd 100644
--- a/shell/hush_test/hush-misc/redir6.right
+++ b/shell/hush_test/hush-redir/redir6.right
diff --git a/shell/hush_test/hush-misc/redir6.tests b/shell/hush_test/hush-redir/redir6.tests
index c639ebb..c639ebb 100755
--- a/shell/hush_test/hush-misc/redir6.tests
+++ b/shell/hush_test/hush-redir/redir6.tests
diff --git a/shell/hush_test/hush-redir/redir7.right b/shell/hush_test/hush-redir/redir7.right
new file mode 100644
index 0000000..6430b02
--- /dev/null
+++ b/shell/hush_test/hush-redir/redir7.right
@@ -0,0 +1,3 @@
+Ok
+Ok
+Done
diff --git a/shell/hush_test/hush-redir/redir7.tests b/shell/hush_test/hush-redir/redir7.tests
new file mode 100755
index 0000000..e873a46
--- /dev/null
+++ b/shell/hush_test/hush-redir/redir7.tests
@@ -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
diff --git a/shell/hush_test/hush-redir/redir8.right b/shell/hush_test/hush-redir/redir8.right
new file mode 100644
index 0000000..6430b02
--- /dev/null
+++ b/shell/hush_test/hush-redir/redir8.right
@@ -0,0 +1,3 @@
+Ok
+Ok
+Done
diff --git a/shell/hush_test/hush-redir/redir8.tests b/shell/hush_test/hush-redir/redir8.tests
new file mode 100755
index 0000000..2bd3867
--- /dev/null
+++ b/shell/hush_test/hush-redir/redir8.tests
@@ -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
diff --git a/shell/hush_test/hush-redir/redir9.right b/shell/hush_test/hush-redir/redir9.right
new file mode 100644
index 0000000..34c2512
--- /dev/null
+++ b/shell/hush_test/hush-redir/redir9.right
@@ -0,0 +1,2 @@
+Ok
+Done:0
diff --git a/shell/hush_test/hush-redir/redir9.tests b/shell/hush_test/hush-redir/redir9.tests
new file mode 100755
index 0000000..8befa61
--- /dev/null
+++ b/shell/hush_test/hush-redir/redir9.tests
@@ -0,0 +1,4 @@
+echo Ok >file.tmp
+cat 0<>file.tmp
+echo Done:$?
+rm file.tmp
diff --git a/shell/hush_test/hush-redir/redirA.right b/shell/hush_test/hush-redir/redirA.right
new file mode 100644
index 0000000..31406e3
--- /dev/null
+++ b/shell/hush_test/hush-redir/redirA.right
@@ -0,0 +1,2 @@
+tmp11
+tmp11
diff --git a/shell/hush_test/hush-redir/redirA.tests b/shell/hush_test/hush-redir/redirA.tests
new file mode 100755
index 0000000..56833f9
--- /dev/null
+++ b/shell/hush_test/hush-redir/redirA.tests
@@ -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*
diff --git a/shell/hush_test/hush-misc/redir_script.right b/shell/hush_test/hush-redir/redir_script.right
index 6694ed3..6694ed3 100644
--- a/shell/hush_test/hush-misc/redir_script.right
+++ b/shell/hush_test/hush-redir/redir_script.right
diff --git a/shell/hush_test/hush-misc/redir_script.tests b/shell/hush_test/hush-redir/redir_script.tests
index ccc497d..ccc497d 100755
--- a/shell/hush_test/hush-misc/redir_script.tests
+++ b/shell/hush_test/hush-redir/redir_script.tests
diff --git a/shell/hush_test/hush-parsing/redir_space.right b/shell/hush_test/hush-redir/redir_space.right
index 0842952..0842952 100644
--- a/shell/hush_test/hush-parsing/redir_space.right
+++ b/shell/hush_test/hush-redir/redir_space.right
diff --git a/shell/hush_test/hush-parsing/redir_space.tests b/shell/hush_test/hush-redir/redir_space.tests
index c0b5430..c0b5430 100755
--- a/shell/hush_test/hush-parsing/redir_space.tests
+++ b/shell/hush_test/hush-redir/redir_space.tests