diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2016-10-02 17:49:46 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2016-10-02 17:49:46 +0200 |
commit | 1b73f8471a3694d2e6b035bb7f04e1f4df943f03 (patch) | |
tree | bdfec37feb42130ca65045c29173fb46fd093f54 /shell/hush_test/hush-heredoc | |
parent | 5d6b8729ed7335c702022f4f3176573f4cf2cf5a (diff) | |
download | busybox-w32-1b73f8471a3694d2e6b035bb7f04e1f4df943f03.tar.gz busybox-w32-1b73f8471a3694d2e6b035bb7f04e1f4df943f03.tar.bz2 busybox-w32-1b73f8471a3694d2e6b035bb7f04e1f4df943f03.zip |
sh testsuite: create hush-heredoc/* and move files around
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell/hush_test/hush-heredoc')
-rw-r--r-- | shell/hush_test/hush-heredoc/heredoc1.right | 5 | ||||
-rwxr-xr-x | shell/hush_test/hush-heredoc/heredoc1.tests | 9 | ||||
-rw-r--r-- | shell/hush_test/hush-heredoc/heredoc2.right | 2 | ||||
-rwxr-xr-x | shell/hush_test/hush-heredoc/heredoc2.tests | 7 | ||||
-rw-r--r-- | shell/hush_test/hush-heredoc/heredoc3.right | 9 | ||||
-rwxr-xr-x | shell/hush_test/hush-heredoc/heredoc3.tests | 12 | ||||
-rw-r--r-- | shell/hush_test/hush-heredoc/heredoc4.right | 1 | ||||
-rwxr-xr-x | shell/hush_test/hush-heredoc/heredoc4.tests | 3 | ||||
-rw-r--r-- | shell/hush_test/hush-heredoc/heredoc5.right | 9 | ||||
-rwxr-xr-x | shell/hush_test/hush-heredoc/heredoc5.tests | 12 | ||||
-rw-r--r-- | shell/hush_test/hush-heredoc/heredoc_backslash1.right | 43 | ||||
-rwxr-xr-x | shell/hush_test/hush-heredoc/heredoc_backslash1.tests | 70 | ||||
-rw-r--r-- | shell/hush_test/hush-heredoc/heredoc_huge.right | 3 | ||||
-rwxr-xr-x | shell/hush_test/hush-heredoc/heredoc_huge.tests | 9 |
14 files changed, 194 insertions, 0 deletions
diff --git a/shell/hush_test/hush-heredoc/heredoc1.right b/shell/hush_test/hush-heredoc/heredoc1.right new file mode 100644 index 000000000..7fc68f3e1 --- /dev/null +++ b/shell/hush_test/hush-heredoc/heredoc1.right | |||
@@ -0,0 +1,5 @@ | |||
1 | qwe | ||
2 | asd | ||
3 | 123 | ||
4 | 456 | ||
5 | Ok | ||
diff --git a/shell/hush_test/hush-heredoc/heredoc1.tests b/shell/hush_test/hush-heredoc/heredoc1.tests new file mode 100755 index 000000000..2eeb4726b --- /dev/null +++ b/shell/hush_test/hush-heredoc/heredoc1.tests | |||
@@ -0,0 +1,9 @@ | |||
1 | cat <<000; cat <<www; cat <<eee | ||
2 | 000 | ||
3 | qwe | ||
4 | asd | ||
5 | www | ||
6 | 123 | ||
7 | 456 | ||
8 | eee | ||
9 | echo Ok | ||
diff --git a/shell/hush_test/hush-heredoc/heredoc2.right b/shell/hush_test/hush-heredoc/heredoc2.right new file mode 100644 index 000000000..a486f1ac4 --- /dev/null +++ b/shell/hush_test/hush-heredoc/heredoc2.right | |||
@@ -0,0 +1,2 @@ | |||
1 | bar | ||
2 | bar | ||
diff --git a/shell/hush_test/hush-heredoc/heredoc2.tests b/shell/hush_test/hush-heredoc/heredoc2.tests new file mode 100755 index 000000000..6d9ccb6cc --- /dev/null +++ b/shell/hush_test/hush-heredoc/heredoc2.tests | |||
@@ -0,0 +1,7 @@ | |||
1 | foo () { | ||
2 | cat <<EOF && { echo "$1" ; } | ||
3 | $1 | ||
4 | EOF | ||
5 | } | ||
6 | |||
7 | foo "bar" | ||
diff --git a/shell/hush_test/hush-heredoc/heredoc3.right b/shell/hush_test/hush-heredoc/heredoc3.right new file mode 100644 index 000000000..6ed517f74 --- /dev/null +++ b/shell/hush_test/hush-heredoc/heredoc3.right | |||
@@ -0,0 +1,9 @@ | |||
1 | exit EOF-f | ||
2 | " | ||
3 | echo $f | ||
4 | echo `echo Hello World` | ||
5 | moo | ||
6 | EOF-f | ||
7 | EOF-f f | ||
8 | EOF-f | ||
9 | Ok | ||
diff --git a/shell/hush_test/hush-heredoc/heredoc3.tests b/shell/hush_test/hush-heredoc/heredoc3.tests new file mode 100755 index 000000000..938577a89 --- /dev/null +++ b/shell/hush_test/hush-heredoc/heredoc3.tests | |||
@@ -0,0 +1,12 @@ | |||
1 | f=1 | ||
2 | cat <<- EOF-f"" | ||
3 | exit EOF-f | ||
4 | " | ||
5 | echo $f | ||
6 | echo `echo Hello World` | ||
7 | moo | ||
8 | EOF-f | ||
9 | EOF-f f | ||
10 | EOF-f | ||
11 | EOF-f | ||
12 | echo Ok | ||
diff --git a/shell/hush_test/hush-heredoc/heredoc4.right b/shell/hush_test/hush-heredoc/heredoc4.right new file mode 100644 index 000000000..371b092e2 --- /dev/null +++ b/shell/hush_test/hush-heredoc/heredoc4.right | |||
@@ -0,0 +1 @@ | |||
'$' | |||
diff --git a/shell/hush_test/hush-heredoc/heredoc4.tests b/shell/hush_test/hush-heredoc/heredoc4.tests new file mode 100755 index 000000000..642ddb324 --- /dev/null +++ b/shell/hush_test/hush-heredoc/heredoc4.tests | |||
@@ -0,0 +1,3 @@ | |||
1 | cat <<EOF | ||
2 | '$' | ||
3 | EOF | ||
diff --git a/shell/hush_test/hush-heredoc/heredoc5.right b/shell/hush_test/hush-heredoc/heredoc5.right new file mode 100644 index 000000000..74110e3b5 --- /dev/null +++ b/shell/hush_test/hush-heredoc/heredoc5.right | |||
@@ -0,0 +1,9 @@ | |||
1 | exit EOF-f | ||
2 | " | ||
3 | echo 1 | ||
4 | echo Hello World | ||
5 | moo | ||
6 | EOF-f | ||
7 | EOF-f f | ||
8 | EOF-f | ||
9 | Ok | ||
diff --git a/shell/hush_test/hush-heredoc/heredoc5.tests b/shell/hush_test/hush-heredoc/heredoc5.tests new file mode 100755 index 000000000..e619bded1 --- /dev/null +++ b/shell/hush_test/hush-heredoc/heredoc5.tests | |||
@@ -0,0 +1,12 @@ | |||
1 | f=1 | ||
2 | cat <<- EOF-f | ||
3 | exit EOF-f | ||
4 | " | ||
5 | echo $f | ||
6 | echo `echo Hello World` | ||
7 | moo | ||
8 | EOF-f | ||
9 | EOF-f f | ||
10 | EOF-f | ||
11 | EOF-f | ||
12 | echo Ok | ||
diff --git a/shell/hush_test/hush-heredoc/heredoc_backslash1.right b/shell/hush_test/hush-heredoc/heredoc_backslash1.right new file mode 100644 index 000000000..6a6114821 --- /dev/null +++ b/shell/hush_test/hush-heredoc/heredoc_backslash1.right | |||
@@ -0,0 +1,43 @@ | |||
1 | Quoted heredoc: | ||
2 | a\ | ||
3 | b | ||
4 | a\\ | ||
5 | b | ||
6 | 123456 -$a-\t-\\-\"-\'-\`-\--\z-\*-\?- | ||
7 | -$a-\t-\\-\"-\'-\`-\--\z-\*-\?- | ||
8 | 123456 `echo v'-$a-\t-\\-\"-\'-\`-\--\z-\*-\?-'` | ||
9 | 123456 $(echo v'-$a-\t-\\-\"-\'-\`-\--\z-\*-\?-') | ||
10 | c\ | ||
11 | |||
12 | Unquoted heredoc: | ||
13 | a b | ||
14 | a\ | ||
15 | b | ||
16 | 123456 -qwerty-\t-\-\"-\'-`-\--\z-\*-\?- | ||
17 | -qwerty-\t-\-\"-\'-`-\--\z-\*-\?- | ||
18 | 123456 v-$a-\t-\-\"-\x-`-\--\z-\*-\?- | ||
19 | 123456 v-$a-\t-\\-\"-\x-\`-\--\z-\*-\?- | ||
20 | cEOF2 | ||
21 | |||
22 | Quoted -heredoc: | ||
23 | a\ | ||
24 | b | ||
25 | a\\ | ||
26 | b | ||
27 | 123456 -$a-\t-\\-\"-\'-\`-\--\z-\*-\?- | ||
28 | -$a-\t-\\-\"-\'-\`-\--\z-\*-\?- | ||
29 | 123456 `echo v'-$a-\t-\\-\"-\'-\`-\--\z-\*-\?-'` | ||
30 | 123456 $(echo v'-$a-\t-\\-\"-\'-\`-\--\z-\*-\?-') | ||
31 | c\ | ||
32 | |||
33 | Unquoted -heredoc: | ||
34 | a b | ||
35 | a\ | ||
36 | b | ||
37 | 123456 -qwerty-\t-\-\"-\'-`-\--\z-\*-\?- | ||
38 | -qwerty-\t-\-\"-\'-`-\--\z-\*-\?- | ||
39 | 123456 v-$a-\t-\-\"-\x-`-\--\z-\*-\?- | ||
40 | 123456 v-$a-\t-\\-\"-\x-\`-\--\z-\*-\?- | ||
41 | cEOF4 | ||
42 | |||
43 | Done: 0 | ||
diff --git a/shell/hush_test/hush-heredoc/heredoc_backslash1.tests b/shell/hush_test/hush-heredoc/heredoc_backslash1.tests new file mode 100755 index 000000000..501af5490 --- /dev/null +++ b/shell/hush_test/hush-heredoc/heredoc_backslash1.tests | |||
@@ -0,0 +1,70 @@ | |||
1 | # Test for correct handling of backslashes. | ||
2 | # Note that some lines in each heredoc start with a tab. | ||
3 | |||
4 | a=qwerty | ||
5 | |||
6 | echo Quoted heredoc: | ||
7 | cat <<"EOF1" | ||
8 | a\ | ||
9 | b | ||
10 | a\\ | ||
11 | b | ||
12 | 123456 -$a-\t-\\-\"-\'-\`-\--\z-\*-\?- | ||
13 | -$a-\t-\\-\"-\'-\`-\--\z-\*-\?- | ||
14 | 123456 `echo v'-$a-\t-\\-\"-\'-\`-\--\z-\*-\?-'` | ||
15 | 123456 $(echo v'-$a-\t-\\-\"-\'-\`-\--\z-\*-\?-') | ||
16 | c\ | ||
17 | EOF1 | ||
18 | echo | ||
19 | |||
20 | echo Unquoted heredoc: | ||
21 | cat <<EOF2 | ||
22 | a\ | ||
23 | b | ||
24 | a\\ | ||
25 | b | ||
26 | 123456 -$a-\t-\\-\"-\'-\`-\--\z-\*-\?- | ||
27 | -$a-\t-\\-\"-\'-\`-\--\z-\*-\?- | ||
28 | 123456 `echo v'-$a-\t-\\-\"-\x-\`-\--\z-\*-\?-'` | ||
29 | 123456 $(echo v'-$a-\t-\\-\"-\x-\`-\--\z-\*-\?-') | ||
30 | c\ | ||
31 | EOF2 | ||
32 | EOF2 | ||
33 | echo | ||
34 | |||
35 | echo Quoted -heredoc: | ||
36 | cat <<-"EOF3" | ||
37 | a\ | ||
38 | b | ||
39 | a\\ | ||
40 | b | ||
41 | 123456 -$a-\t-\\-\"-\'-\`-\--\z-\*-\?- | ||
42 | -$a-\t-\\-\"-\'-\`-\--\z-\*-\?- | ||
43 | 123456 `echo v'-$a-\t-\\-\"-\'-\`-\--\z-\*-\?-'` | ||
44 | 123456 $(echo v'-$a-\t-\\-\"-\'-\`-\--\z-\*-\?-') | ||
45 | c\ | ||
46 | EOF3 | ||
47 | # In -heredoc case the marker is detected even if it is indented. | ||
48 | echo | ||
49 | |||
50 | echo Unquoted -heredoc: | ||
51 | cat <<-EOF4 | ||
52 | a\ | ||
53 | b | ||
54 | a\\ | ||
55 | b | ||
56 | 123456 -$a-\t-\\-\"-\'-\`-\--\z-\*-\?- | ||
57 | -$a-\t-\\-\"-\'-\`-\--\z-\*-\?- | ||
58 | 123456 `echo v'-$a-\t-\\-\"-\x-\`-\--\z-\*-\?-'` | ||
59 | 123456 $(echo v'-$a-\t-\\-\"-\x-\`-\--\z-\*-\?-') | ||
60 | c\ | ||
61 | EOF4 | ||
62 | EOF4 | ||
63 | # The marker is not detected if preceding line ends in backslash. | ||
64 | # TODO: marker should be detected even if it is split by line continuation: | ||
65 | # EOF\ | ||
66 | # 4 | ||
67 | # but currently hush doesn't do it. (Tab before "4" is not allowed, though.) | ||
68 | echo | ||
69 | |||
70 | echo "Done: $?" | ||
diff --git a/shell/hush_test/hush-heredoc/heredoc_huge.right b/shell/hush_test/hush-heredoc/heredoc_huge.right new file mode 100644 index 000000000..11740f674 --- /dev/null +++ b/shell/hush_test/hush-heredoc/heredoc_huge.right | |||
@@ -0,0 +1,3 @@ | |||
1 | 546ed3f5c81c780d3ab86ada14824237 - | ||
2 | 546ed3f5c81c780d3ab86ada14824237 - | ||
3 | End | ||
diff --git a/shell/hush_test/hush-heredoc/heredoc_huge.tests b/shell/hush_test/hush-heredoc/heredoc_huge.tests new file mode 100755 index 000000000..c2ec2817b --- /dev/null +++ b/shell/hush_test/hush-heredoc/heredoc_huge.tests | |||
@@ -0,0 +1,9 @@ | |||
1 | # This creates 120k heredoc | ||
2 | echo 'cat <<HERE | md5sum' >"$0.tmp" | ||
3 | yes "123456789 123456789 123456789 123456789" | head -3000 >>"$0.tmp" | ||
4 | echo 'HERE' >>"$0.tmp" | ||
5 | |||
6 | yes "123456789 123456789 123456789 123456789" | head -3000 | md5sum | ||
7 | . "$0.tmp" | ||
8 | rm "$0.tmp" | ||
9 | echo End | ||