summaryrefslogtreecommitdiff
path: root/shell/hush_test/hush-misc
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2016-10-02 17:55:51 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2016-10-02 17:55:51 +0200
commitc4cf542c575068d55368e771abf6c358bfebf5d3 (patch)
treeb916ff4bea0671437b80257fa82283ad8e09faab /shell/hush_test/hush-misc
parent1b73f8471a3694d2e6b035bb7f04e1f4df943f03 (diff)
downloadbusybox-w32-c4cf542c575068d55368e771abf6c358bfebf5d3.tar.gz
busybox-w32-c4cf542c575068d55368e771abf6c358bfebf5d3.tar.bz2
busybox-w32-c4cf542c575068d55368e771abf6c358bfebf5d3.zip
sh testsuite: create hush-redir/* and move files around
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell/hush_test/hush-misc')
-rw-r--r--shell/hush_test/hush-misc/redir1.right12
-rwxr-xr-xshell/hush_test/hush-misc/redir1.tests40
-rw-r--r--shell/hush_test/hush-misc/redir2.right1
-rwxr-xr-xshell/hush_test/hush-misc/redir2.tests2
-rw-r--r--shell/hush_test/hush-misc/redir3.right14
-rwxr-xr-xshell/hush_test/hush-misc/redir3.tests9
-rw-r--r--shell/hush_test/hush-misc/redir4.right18
-rwxr-xr-xshell/hush_test/hush-misc/redir4.tests85
-rw-r--r--shell/hush_test/hush-misc/redir5.right4
-rwxr-xr-xshell/hush_test/hush-misc/redir5.tests13
-rw-r--r--shell/hush_test/hush-misc/redir6.right4
-rwxr-xr-xshell/hush_test/hush-misc/redir6.tests5
-rw-r--r--shell/hush_test/hush-misc/redir_script.right1
-rwxr-xr-xshell/hush_test/hush-misc/redir_script.tests29
14 files changed, 0 insertions, 237 deletions
diff --git a/shell/hush_test/hush-misc/redir1.right b/shell/hush_test/hush-misc/redir1.right
deleted file mode 100644
index 15515d1af..000000000
--- a/shell/hush_test/hush-misc/redir1.right
+++ /dev/null
@@ -1,12 +0,0 @@
1Test 0: var:ok
2File created:ok
3Test 1: var:ok
4File created:ok
5Test 2: var:ok
6File created:ok
7Test 3: var:ok
8File created:ok
9Test 4: var:ok
10File created:ok
11Test 5: var:ok
12File created:ok
diff --git a/shell/hush_test/hush-misc/redir1.tests b/shell/hush_test/hush-misc/redir1.tests
deleted file mode 100755
index ef2fbfb77..000000000
--- a/shell/hush_test/hush-misc/redir1.tests
+++ /dev/null
@@ -1,40 +0,0 @@
1rm shell_test_$$ 2>/dev/null
2var=bad
3>shell_test_$$ var=ok
4echo "Test 0: var:$var"
5test -f shell_test_$$ && echo "File created:ok"
6
7rm shell_test_$$ 2>/dev/null
8var=bad
9var=ok >shell_test_$$
10echo "Test 1: var:$var"
11test -f shell_test_$$ && echo "File created:ok"
12
13rm shell_test_$$ 2>/dev/null
14var=ok
15true | var=bad >shell_test_$$
16echo "Test 2: var:$var"
17test -f shell_test_$$ && echo "File created:ok"
18
19rm shell_test_$$ 2>/dev/null
20var=bad
21{ var=ok >shell_test_$$; }
22echo "Test 3: var:$var"
23test -f shell_test_$$ && echo "File created:ok"
24
25rm shell_test_$$ 2>/dev/null
26var=ok
27{ var=bad >shell_test_$$; } &
28# cant use usleep as it isnt standard in $PATH --
29# we fail when testing busybox compiled solely as "hush"
30wait
31echo "Test 4: var:$var"
32test -f shell_test_$$ && echo "File created:ok"
33
34rm shell_test_$$ 2>/dev/null
35var=ok
36( var=bad >shell_test_$$ )
37echo "Test 5: var:$var"
38test -f shell_test_$$ && echo "File created:ok"
39
40rm shell_test_$$ 2>/dev/null
diff --git a/shell/hush_test/hush-misc/redir2.right b/shell/hush_test/hush-misc/redir2.right
deleted file mode 100644
index 7326d9603..000000000
--- a/shell/hush_test/hush-misc/redir2.right
+++ /dev/null
@@ -1 +0,0 @@
1Ok
diff --git a/shell/hush_test/hush-misc/redir2.tests b/shell/hush_test/hush-misc/redir2.tests
deleted file mode 100755
index 81983cae2..000000000
--- a/shell/hush_test/hush-misc/redir2.tests
+++ /dev/null
@@ -1,2 +0,0 @@
1echo NOT SHOWN \2>/dev/null
2echo Ok
diff --git a/shell/hush_test/hush-misc/redir3.right b/shell/hush_test/hush-misc/redir3.right
deleted file mode 100644
index 3d20bbf68..000000000
--- a/shell/hush_test/hush-misc/redir3.right
+++ /dev/null
@@ -1,14 +0,0 @@
1hush: can't open '/does/not/exist': No such file or directory
2One:1
3hush: can't open '/cant/be/created': No such file or directory
4One:1
5Ok
6hush: can't open '/cant/be/created': No such file or directory
7Zero:0
8hush: can't open '/cant/be/created': No such file or directory
9One:1
10hush: can't open '/cant/be/created': No such file or directory
11One:1
12hush: can't open '/cant/be/created': No such file or directory
13Zero:0
14Done
diff --git a/shell/hush_test/hush-misc/redir3.tests b/shell/hush_test/hush-misc/redir3.tests
deleted file mode 100755
index 7c28e4324..000000000
--- a/shell/hush_test/hush-misc/redir3.tests
+++ /dev/null
@@ -1,9 +0,0 @@
1echo Error >/does/not/exist; echo One:$?
2t=BAD
3t=Ok >>/cant/be/created; echo One:$?
4echo $t
5! >/cant/be/created; echo Zero:$?
6exec >/cant/be/created; echo One:$?
7exec /bin/true >/cant/be/created; echo One:$?
8! exec /bin/true >/cant/be/created; echo Zero:$?
9echo Done
diff --git a/shell/hush_test/hush-misc/redir4.right b/shell/hush_test/hush-misc/redir4.right
deleted file mode 100644
index ead25f603..000000000
--- a/shell/hush_test/hush-misc/redir4.right
+++ /dev/null
@@ -1,18 +0,0 @@
1shell_test
2\shell_test
3\shell_test
4\shell_test
5Here1
6Ok1
7Here2
8Ok2
9Here3
10Ok3
11Here4
12Ok4
13Now with variable refs
14shell_test_1
15\shell_test_1
16\shell_test_1
17\shell_test_1
18Done
diff --git a/shell/hush_test/hush-misc/redir4.tests b/shell/hush_test/hush-misc/redir4.tests
deleted file mode 100755
index c50b8cedf..000000000
--- a/shell/hush_test/hush-misc/redir4.tests
+++ /dev/null
@@ -1,85 +0,0 @@
1rm *shell_test* 2>/dev/null
2
3>\shell_test
4echo *shell_test*
5rm *shell_test*
6
7>\\shell_test
8echo *shell_test*
9rm *shell_test*
10
11>"\shell_test"
12echo *shell_test*
13rm *shell_test*
14
15>"\\shell_test"
16echo *shell_test*
17rm *shell_test*
18
19
20cat <<\shell_test
21Here1
22shell_test
23echo Ok1
24
25cat <<\\shell_test
26Here2
27\shell_test
28echo Ok2
29
30cat <<"\shell_test"
31Here3
32\shell_test
33echo Ok3
34
35cat <<"\\shell_test"
36Here4
37\shell_test
38echo Ok4
39
40
41echo Now with variable refs
42i=1
43
44
45>\shell_test_$i
46echo *shell_test*
47rm *shell_test*
48
49>\\shell_test_$i
50echo *shell_test*
51rm *shell_test*
52
53>"\shell_test_$i"
54echo *shell_test*
55rm *shell_test*
56
57>"\\shell_test_$i"
58echo *shell_test*
59rm *shell_test*
60
61echo Done;exit
62# UNFIXED BUG. bash apparently will expand $i even in terminating delimiter.
63# http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html
64# does not mandate this behavior.
65# This is not likely to be used much in real-world.
66
67cat <<\shell_test_$i
68Here1
69shell_test_$i
70echo Ok1
71
72cat <<\\shell_test_$i
73Here2
74\shell_test_$i
75echo Ok2
76
77cat <<"\shell_test_$i"
78Here3
79\shell_test_$i
80echo Ok3
81
82cat <<"\\shell_test_$i"
83Here4
84\shell_test_$i
85echo Ok4
diff --git a/shell/hush_test/hush-misc/redir5.right b/shell/hush_test/hush-misc/redir5.right
deleted file mode 100644
index 52cce4feb..000000000
--- a/shell/hush_test/hush-misc/redir5.right
+++ /dev/null
@@ -1,4 +0,0 @@
1Backgrounded pipes shall have their stdin redirected to /dev/null
2Zero:0
3Zero:0
4Done
diff --git a/shell/hush_test/hush-misc/redir5.tests b/shell/hush_test/hush-misc/redir5.tests
deleted file mode 100755
index 957f9c81f..000000000
--- a/shell/hush_test/hush-misc/redir5.tests
+++ /dev/null
@@ -1,13 +0,0 @@
1echo "Backgrounded pipes shall have their stdin redirected to /dev/null"
2
3# 1. bash does not redirect stdin to /dev/null if it is interactive.
4# hush does it always (this is allowed by standards).
5
6# 2. Failure will result in this script hanging
7
8cat & wait; echo Zero:$?
9
10# This does not work for bash! bash bug?
11cat | cat & wait; echo Zero:$?
12
13echo Done
diff --git a/shell/hush_test/hush-misc/redir6.right b/shell/hush_test/hush-misc/redir6.right
deleted file mode 100644
index a97c4bdf1..000000000
--- a/shell/hush_test/hush-misc/redir6.right
+++ /dev/null
@@ -1,4 +0,0 @@
1Testing multiple redirections to same fd
2Hello
3Done1
4Done2
diff --git a/shell/hush_test/hush-misc/redir6.tests b/shell/hush_test/hush-misc/redir6.tests
deleted file mode 100755
index c639ebb2d..000000000
--- a/shell/hush_test/hush-misc/redir6.tests
+++ /dev/null
@@ -1,5 +0,0 @@
1echo "Testing multiple redirections to same fd"
2# bug was making us lose fd #1 after this:
3echo Hello >/dev/null 1>&2
4echo Done1
5echo Done2 >&2
diff --git a/shell/hush_test/hush-misc/redir_script.right b/shell/hush_test/hush-misc/redir_script.right
deleted file mode 100644
index 6694ed334..000000000
--- a/shell/hush_test/hush-misc/redir_script.right
+++ /dev/null
@@ -1 +0,0 @@
1Ok: script fd is not closed
diff --git a/shell/hush_test/hush-misc/redir_script.tests b/shell/hush_test/hush-misc/redir_script.tests
deleted file mode 100755
index ccc497d7b..000000000
--- a/shell/hush_test/hush-misc/redir_script.tests
+++ /dev/null
@@ -1,29 +0,0 @@
1# Builds a " 3>&- 4>&-" string.
2# Note: one of these fds is a directory opened to /proc/self/fd
3# for globbing. It is unwanted, but I don't know how to filter it out.
4find_fds() {
5 fds=""
6 for f in /proc/self/fd/*; do
7 test "$f" = "/proc/self/fd/0" && continue
8 test "$f" = "/proc/self/fd/1" && continue
9 test "$f" = "/proc/self/fd/2" && continue
10 fds="$fds ${f##*/}>&-"
11 done
12}
13
14find_fds
15fds1="$fds"
16
17# One of the fds is open to the script body
18# Close it while executing something.
19eval "find_fds $fds"
20
21# Shell should not lose that fd. Did it?
22find_fds
23test x"$fds1" = x"$fds" && { echo "Ok: script fd is not closed"; exit 0; }
24
25echo "Bug: script fd is closed"
26echo "fds1:$fds1"
27echo "fds2:$fds"
28exit 1
29