aboutsummaryrefslogtreecommitdiff
path: root/shell/ash_test
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2008-03-25 07:49:43 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2008-03-25 07:49:43 +0000
commit80591b0a000e88c284bd2ec355f27e19e1da7528 (patch)
tree101b48a0a2c5506e6c818717c8ef7d66b857d6a7 /shell/ash_test
parentb02cea12129f1aa484701317f38466ec9e1c8462 (diff)
downloadbusybox-w32-80591b0a000e88c284bd2ec355f27e19e1da7528.tar.gz
busybox-w32-80591b0a000e88c284bd2ec355f27e19e1da7528.tar.bz2
busybox-w32-80591b0a000e88c284bd2ec355f27e19e1da7528.zip
ash: support for && and || in [[ expr ]]; add testsuite checks
Diffstat (limited to 'shell/ash_test')
-rw-r--r--shell/ash_test/ash-arith/arith-bash1.right2
-rwxr-xr-xshell/ash_test/ash-arith/arith-bash1.tests5
-rw-r--r--shell/ash_test/ash-vars/var_bash1.right14
-rwxr-xr-xshell/ash_test/ash-vars/var_bash1.tests18
-rw-r--r--shell/ash_test/ash-vars/var_bash2.right10
-rwxr-xr-xshell/ash_test/ash-vars/var_bash2.tests24
6 files changed, 73 insertions, 0 deletions
diff --git a/shell/ash_test/ash-arith/arith-bash1.right b/shell/ash_test/ash-arith/arith-bash1.right
new file mode 100644
index 000000000..b261da18d
--- /dev/null
+++ b/shell/ash_test/ash-arith/arith-bash1.right
@@ -0,0 +1,2 @@
11
20
diff --git a/shell/ash_test/ash-arith/arith-bash1.tests b/shell/ash_test/ash-arith/arith-bash1.tests
new file mode 100755
index 000000000..b37b7302d
--- /dev/null
+++ b/shell/ash_test/ash-arith/arith-bash1.tests
@@ -0,0 +1,5 @@
1# checks for [[ ]]
2
3# && and ||
4[[ a && "" ]]; echo $?
5[[ a || "" ]]; echo $?
diff --git a/shell/ash_test/ash-vars/var_bash1.right b/shell/ash_test/ash-vars/var_bash1.right
new file mode 100644
index 000000000..c0a07699b
--- /dev/null
+++ b/shell/ash_test/ash-vars/var_bash1.right
@@ -0,0 +1,14 @@
1
2
3f
4bcdef
5abcdef
6abcdef
7bcde
8abcd
9abcd
10abcdef
11bcdef
12abcdef
13abcdef
14abcdef
diff --git a/shell/ash_test/ash-vars/var_bash1.tests b/shell/ash_test/ash-vars/var_bash1.tests
new file mode 100755
index 000000000..24d3c9a00
--- /dev/null
+++ b/shell/ash_test/ash-vars/var_bash1.tests
@@ -0,0 +1,18 @@
1var=abcdef
2
3echo ${var:7}
4echo ${var:6}
5echo ${var:5}
6echo ${var:1}
7echo ${var:0}
8echo ${var:-1}
9
10echo ${var:1:4}
11echo ${var:0:4}
12echo ${var::4}
13echo ${var:-1:4}
14
15echo ${var:1:7}
16echo ${var:0:7}
17echo ${var::7}
18echo ${var:-1:7}
diff --git a/shell/ash_test/ash-vars/var_bash2.right b/shell/ash_test/ash-vars/var_bash2.right
new file mode 100644
index 000000000..acba5c6fb
--- /dev/null
+++ b/shell/ash_test/ash-vars/var_bash2.right
@@ -0,0 +1,10 @@
1abc123xcba123
2abx123dcba123
3abx123dxba123
4abcx23dcba123
5abcxxxdcbaxxx
6abx
7xba123
8abx23
9abc23dcba123
10abcdcba
diff --git a/shell/ash_test/ash-vars/var_bash2.tests b/shell/ash_test/ash-vars/var_bash2.tests
new file mode 100755
index 000000000..29c526cef
--- /dev/null
+++ b/shell/ash_test/ash-vars/var_bash2.tests
@@ -0,0 +1,24 @@
1var=abc123dcba123
2
3echo ${var/d/x}
4echo ${var/c/x}
5echo ${var//c/x}
6echo ${var/[123]/x}
7echo ${var//[123]/x}
8echo ${var/c*/x}
9echo ${var/*c/x}
10
11# must match longest match: result is "abx23"
12echo ${var/c*1/x}
13
14# empty replacement - 2nd slash can be omitted
15echo ${var/[123]}
16echo ${var//[123]}
17
18### ash doesn't support
19### # match only at the beginning:
20### echo ${var/#a/x}
21### echo ${var/#b/x} # should not match
22### echo ${var//#b/x} # should not match
23### # match only at the end:
24### echo ${var/%3/x}