diff options
Diffstat (limited to 'shell/ash_test/ash-redir')
-rwxr-xr-x | shell/ash_test/ash-redir/redir_script.tests | 9 | ||||
-rw-r--r-- | shell/ash_test/ash-redir/redir_to_bad_fd255.right | 2 | ||||
-rwxr-xr-x | shell/ash_test/ash-redir/redir_to_bad_fd255.tests | 3 | ||||
-rw-r--r-- | shell/ash_test/ash-redir/redir_to_bad_fd3.right | 2 | ||||
-rwxr-xr-x | shell/ash_test/ash-redir/redir_to_bad_fd3.tests | 3 |
5 files changed, 17 insertions, 2 deletions
diff --git a/shell/ash_test/ash-redir/redir_script.tests b/shell/ash_test/ash-redir/redir_script.tests index ccc497d7b..740daa461 100755 --- a/shell/ash_test/ash-redir/redir_script.tests +++ b/shell/ash_test/ash-redir/redir_script.tests | |||
@@ -20,10 +20,15 @@ eval "find_fds $fds" | |||
20 | 20 | ||
21 | # Shell should not lose that fd. Did it? | 21 | # Shell should not lose that fd. Did it? |
22 | find_fds | 22 | find_fds |
23 | test x"$fds1" = x"$fds" && { echo "Ok: script fd is not closed"; exit 0; } | 23 | test x"$fds1" = x"$fds" \ |
24 | && { echo "Ok: script fd is not closed"; exit 0; } | ||
25 | |||
26 | # One legit way to handle it is to move script fd. For example, if we see that fd 10 moved to fd 11: | ||
27 | test x"$fds1" = x" 10>&- 3>&-" && \ | ||
28 | test x"$fds" = x" 11>&- 3>&-" \ | ||
29 | && { echo "Ok: script fd is not closed"; exit 0; } | ||
24 | 30 | ||
25 | echo "Bug: script fd is closed" | 31 | echo "Bug: script fd is closed" |
26 | echo "fds1:$fds1" | 32 | echo "fds1:$fds1" |
27 | echo "fds2:$fds" | 33 | echo "fds2:$fds" |
28 | exit 1 | 34 | exit 1 |
29 | |||
diff --git a/shell/ash_test/ash-redir/redir_to_bad_fd255.right b/shell/ash_test/ash-redir/redir_to_bad_fd255.right new file mode 100644 index 000000000..9c5e35b36 --- /dev/null +++ b/shell/ash_test/ash-redir/redir_to_bad_fd255.right | |||
@@ -0,0 +1,2 @@ | |||
1 | ./redir_to_bad_fd255.tests: line 2: 255: Bad file descriptor | ||
2 | OK | ||
diff --git a/shell/ash_test/ash-redir/redir_to_bad_fd255.tests b/shell/ash_test/ash-redir/redir_to_bad_fd255.tests new file mode 100755 index 000000000..2266af6da --- /dev/null +++ b/shell/ash_test/ash-redir/redir_to_bad_fd255.tests | |||
@@ -0,0 +1,3 @@ | |||
1 | # ash uses fd 10 (usually) for reading the script | ||
2 | echo LOST >&255 | ||
3 | echo OK | ||
diff --git a/shell/ash_test/ash-redir/redir_to_bad_fd3.right b/shell/ash_test/ash-redir/redir_to_bad_fd3.right new file mode 100644 index 000000000..895a4a0a6 --- /dev/null +++ b/shell/ash_test/ash-redir/redir_to_bad_fd3.right | |||
@@ -0,0 +1,2 @@ | |||
1 | ./redir_to_bad_fd3.tests: line 2: 3: Bad file descriptor | ||
2 | OK | ||
diff --git a/shell/ash_test/ash-redir/redir_to_bad_fd3.tests b/shell/ash_test/ash-redir/redir_to_bad_fd3.tests new file mode 100755 index 000000000..98c54cfc6 --- /dev/null +++ b/shell/ash_test/ash-redir/redir_to_bad_fd3.tests | |||
@@ -0,0 +1,3 @@ | |||
1 | # ash uses fd 10 (usually) for reading the script | ||
2 | echo LOST >&3 | ||
3 | echo OK | ||