aboutsummaryrefslogtreecommitdiff
path: root/shell/hush_test
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2021-07-26 15:29:13 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2021-07-26 15:32:46 +0200
commitb278d82c61ab5125b5c7e350b264c1f3d52d682b (patch)
treef2c0a2c2bd630b22f7eebee1d63eb810e480b4e5 /shell/hush_test
parent05c5d745f7b14e265144489b7809a3d6dbbadec6 (diff)
downloadbusybox-w32-b278d82c61ab5125b5c7e350b264c1f3d52d682b.tar.gz
busybox-w32-b278d82c61ab5125b5c7e350b264c1f3d52d682b.tar.bz2
busybox-w32-b278d82c61ab5125b5c7e350b264c1f3d52d682b.zip
hush: implement $'str' bashism
function old new delta parse_dollar_squote - 441 +441 encode_then_expand_vararg 359 380 +21 parse_stream 2252 2271 +19 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 2/0 up/down: 481/0) Total: 481 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell/hush_test')
-rw-r--r--shell/hush_test/hush-quoting/dollar_squote_bash1.right10
-rwxr-xr-xshell/hush_test/hush-quoting/dollar_squote_bash1.tests8
-rw-r--r--shell/hush_test/hush-quoting/dollar_squote_bash2.right6
-rwxr-xr-xshell/hush_test/hush-quoting/dollar_squote_bash2.tests10
-rw-r--r--shell/hush_test/hush-vars/var_bash7.right1
-rwxr-xr-xshell/hush_test/hush-vars/var_bash7.tests1
6 files changed, 36 insertions, 0 deletions
diff --git a/shell/hush_test/hush-quoting/dollar_squote_bash1.right b/shell/hush_test/hush-quoting/dollar_squote_bash1.right
new file mode 100644
index 000000000..9f4e25efa
--- /dev/null
+++ b/shell/hush_test/hush-quoting/dollar_squote_bash1.right
@@ -0,0 +1,10 @@
1a b
2$'a\tb'
3a
4b c
5def
6a'b c"d e\f
7a3b c3b e33f
8a\80b c08b
9a3b c30b
10x y
diff --git a/shell/hush_test/hush-quoting/dollar_squote_bash1.tests b/shell/hush_test/hush-quoting/dollar_squote_bash1.tests
new file mode 100755
index 000000000..6fc411b93
--- /dev/null
+++ b/shell/hush_test/hush-quoting/dollar_squote_bash1.tests
@@ -0,0 +1,8 @@
1echo $'a\tb'
2echo "$'a\tb'"
3echo $'a\nb' $'c\nd''ef'
4echo $'a\'b' $'c\"d' $'e\\f'
5echo $'a\63b' $'c\063b' $'e\0633f'
6echo $'a\80b' $'c\608b'
7echo $'a\x33b' $'c\x330b'
8echo $'x\x9y'
diff --git a/shell/hush_test/hush-quoting/dollar_squote_bash2.right b/shell/hush_test/hush-quoting/dollar_squote_bash2.right
new file mode 100644
index 000000000..f7a1731dd
--- /dev/null
+++ b/shell/hush_test/hush-quoting/dollar_squote_bash2.right
@@ -0,0 +1,6 @@
1strstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstr
2strstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstr
380:\
481:\
582:\
6Done:0
diff --git a/shell/hush_test/hush-quoting/dollar_squote_bash2.tests b/shell/hush_test/hush-quoting/dollar_squote_bash2.tests
new file mode 100755
index 000000000..449772813
--- /dev/null
+++ b/shell/hush_test/hush-quoting/dollar_squote_bash2.tests
@@ -0,0 +1,10 @@
1# Embedded NULs
2echo $'str\x00'strstrstrstrstrstrstrstrstrstrstrstrstrstrstrstr
3echo $'str\000'strstrstrstrstrstrstrstrstrstrstrstrstrstrstrstr
4
5# The chars after '\' are hex 0x80,81,82...
6echo 80:$'\'
7echo 81:$'\'
8echo 82:$'\'
9
10echo Done:$?
diff --git a/shell/hush_test/hush-vars/var_bash7.right b/shell/hush_test/hush-vars/var_bash7.right
new file mode 100644
index 000000000..223b7836f
--- /dev/null
+++ b/shell/hush_test/hush-vars/var_bash7.right
@@ -0,0 +1 @@
B
diff --git a/shell/hush_test/hush-vars/var_bash7.tests b/shell/hush_test/hush-vars/var_bash7.tests
new file mode 100755
index 000000000..c4ce03f7f
--- /dev/null
+++ b/shell/hush_test/hush-vars/var_bash7.tests
@@ -0,0 +1 @@
x=AB; echo "${x#$'\x41'}"