aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2017-07-24 12:49:49 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2017-07-24 12:49:49 +0200
commit4a1d8f6d6e4e1cafc4c2b611126401bf85812a64 (patch)
tree8b8c9b4e007ac25337d33883876a51dc0a09aeea
parent621fc50e83f7446a060f0b9689dc8dc59ee0743a (diff)
downloadbusybox-w32-4a1d8f6d6e4e1cafc4c2b611126401bf85812a64.tar.gz
busybox-w32-4a1d8f6d6e4e1cafc4c2b611126401bf85812a64.tar.bz2
busybox-w32-4a1d8f6d6e4e1cafc4c2b611126401bf85812a64.zip
ash: add most of hush process subst tests
ash passes these. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--shell/ash_test/ash-psubst/emptytick.right17
-rwxr-xr-xshell/ash_test/ash-psubst/emptytick.tests16
-rw-r--r--shell/ash_test/ash-psubst/tick.right2
-rwxr-xr-xshell/ash_test/ash-psubst/tick.tests4
-rw-r--r--shell/ash_test/ash-psubst/tick2.right1
-rwxr-xr-xshell/ash_test/ash-psubst/tick2.tests5
-rw-r--r--shell/ash_test/ash-psubst/tick3.right6
-rwxr-xr-xshell/ash_test/ash-psubst/tick3.tests14
-rw-r--r--shell/ash_test/ash-psubst/tick4.right7
-rwxr-xr-xshell/ash_test/ash-psubst/tick4.tests7
-rw-r--r--shell/ash_test/ash-psubst/tick_huge.right3
-rwxr-xr-xshell/ash_test/ash-psubst/tick_huge.tests7
12 files changed, 89 insertions, 0 deletions
diff --git a/shell/ash_test/ash-psubst/emptytick.right b/shell/ash_test/ash-psubst/emptytick.right
new file mode 100644
index 000000000..7629deba6
--- /dev/null
+++ b/shell/ash_test/ash-psubst/emptytick.right
@@ -0,0 +1,17 @@
10
20
3./emptytick.tests: line 3: : Permission denied
4127
5./emptytick.tests: line 4: : Permission denied
6127
70
80
90
100
11./emptytick.tests: line 10: : Permission denied
12127
13./emptytick.tests: line 11: : Permission denied
14127
150
160
17./emptytick.tests: exec: line 15: : Permission denied
diff --git a/shell/ash_test/ash-psubst/emptytick.tests b/shell/ash_test/ash-psubst/emptytick.tests
new file mode 100755
index 000000000..eaffafb22
--- /dev/null
+++ b/shell/ash_test/ash-psubst/emptytick.tests
@@ -0,0 +1,16 @@
1true; ``; echo $?
2false; ``; echo $?
3true; `""`; echo $?
4false; `""`; echo $?
5true; ` `; echo $?
6false; ` `; echo $?
7
8true; $(); echo $?
9false; $(); echo $?
10true; $(""); echo $?
11false; $(""); echo $?
12true; $( ); echo $?
13false; $( ); echo $?
14
15exec ''; echo $?
16echo Not reached
diff --git a/shell/ash_test/ash-psubst/tick.right b/shell/ash_test/ash-psubst/tick.right
new file mode 100644
index 000000000..6ed281c75
--- /dev/null
+++ b/shell/ash_test/ash-psubst/tick.right
@@ -0,0 +1,2 @@
11
21
diff --git a/shell/ash_test/ash-psubst/tick.tests b/shell/ash_test/ash-psubst/tick.tests
new file mode 100755
index 000000000..1f749a9cd
--- /dev/null
+++ b/shell/ash_test/ash-psubst/tick.tests
@@ -0,0 +1,4 @@
1true
2false; echo `echo $?`
3true
4{ false; echo `echo $?`; }
diff --git a/shell/ash_test/ash-psubst/tick2.right b/shell/ash_test/ash-psubst/tick2.right
new file mode 100644
index 000000000..216c883b8
--- /dev/null
+++ b/shell/ash_test/ash-psubst/tick2.right
@@ -0,0 +1 @@
BAZ
diff --git a/shell/ash_test/ash-psubst/tick2.tests b/shell/ash_test/ash-psubst/tick2.tests
new file mode 100755
index 000000000..db4e944fe
--- /dev/null
+++ b/shell/ash_test/ash-psubst/tick2.tests
@@ -0,0 +1,5 @@
1if false; then
2 echo "FOO"
3 tmp=`echo BAR >&2`
4fi
5echo BAZ
diff --git a/shell/ash_test/ash-psubst/tick3.right b/shell/ash_test/ash-psubst/tick3.right
new file mode 100644
index 000000000..00f267ae5
--- /dev/null
+++ b/shell/ash_test/ash-psubst/tick3.right
@@ -0,0 +1,6 @@
1\TESTZZBEST
2$TEST
3Q
4a\bc
511-$a-\t-\-\"-`-\--\z-\*-\?-22 33-$a-\t-\-"-`-\--\z-\*-\?-44
6done:0
diff --git a/shell/ash_test/ash-psubst/tick3.tests b/shell/ash_test/ash-psubst/tick3.tests
new file mode 100755
index 000000000..3aeb241c3
--- /dev/null
+++ b/shell/ash_test/ash-psubst/tick3.tests
@@ -0,0 +1,14 @@
1test "$CONFIG_FEATURE_FANCY_ECHO" = "y" || exit 77
2
3TEST=Q
4# \` is special
5echo `echo '\'TEST\`echo ZZ\`BEST`
6# \$ and \\ are special
7echo `echo \\$TEST`
8echo `echo \$TEST`
9echo a`echo \\\\b`c
10
11# \" is not special if in unquoted `cmd` (passed verbatim WITH \),
12# but is special in quoted one
13echo `echo 11'-$a-\t-\\-\"-\`-\--\z-\*-\?-'22` "`echo 33'-$a-\t-\\-\"-\`-\--\z-\*-\?-'44`"
14echo done:$?
diff --git a/shell/ash_test/ash-psubst/tick4.right b/shell/ash_test/ash-psubst/tick4.right
new file mode 100644
index 000000000..d8030eafd
--- /dev/null
+++ b/shell/ash_test/ash-psubst/tick4.right
@@ -0,0 +1,7 @@
1(TEST) BEST
2TEST) BEST
3((TEST) BEST
4)
5abc
6a)c
7OK: 0
diff --git a/shell/ash_test/ash-psubst/tick4.tests b/shell/ash_test/ash-psubst/tick4.tests
new file mode 100755
index 000000000..f2305fb3d
--- /dev/null
+++ b/shell/ash_test/ash-psubst/tick4.tests
@@ -0,0 +1,7 @@
1echo $(echo '(TEST)' BEST)
2echo $(echo 'TEST)' BEST)
3echo $(echo \(\(TEST\) BEST)
4echo $(echo \))
5echo $(echo a"`echo "b"`"c )
6echo $(echo a"`echo ")"`"c )
7echo OK: $?
diff --git a/shell/ash_test/ash-psubst/tick_huge.right b/shell/ash_test/ash-psubst/tick_huge.right
new file mode 100644
index 000000000..11740f674
--- /dev/null
+++ b/shell/ash_test/ash-psubst/tick_huge.right
@@ -0,0 +1,3 @@
1546ed3f5c81c780d3ab86ada14824237 -
2546ed3f5c81c780d3ab86ada14824237 -
3End
diff --git a/shell/ash_test/ash-psubst/tick_huge.tests b/shell/ash_test/ash-psubst/tick_huge.tests
new file mode 100755
index 000000000..acce92fb2
--- /dev/null
+++ b/shell/ash_test/ash-psubst/tick_huge.tests
@@ -0,0 +1,7 @@
1# This creates 120k file
2yes "123456789 123456789 123456789 123456789" | head -3000 >>"$0.tmp"
3
4echo "`cat $0.tmp`" | md5sum
5rm "$0.tmp"
6yes "123456789 123456789 123456789 123456789" | head -3000 | md5sum
7echo End