aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/test1.in
diff options
context:
space:
mode:
authorGravatar ridiculousfish <corydoras@ridiculousfish.com>2015-01-04 14:18:06 -0800
committerGravatar ridiculousfish <corydoras@ridiculousfish.com>2015-01-04 14:18:06 -0800
commite045eabad63e40684fcb335247ed6cfe0ec5493a (patch)
tree9d62c3e9529f1ed9ef567fc54a6de0969293033c /tests/test1.in
parent218bd7a687bfc7f97661f6b2809075d7c65d5ed6 (diff)
Add tests to verify pipes do not conflict with fd redirections
Diffstat (limited to 'tests/test1.in')
-rw-r--r--tests/test1.in16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/test1.in b/tests/test1.in
index 424b931a..6f25e8ae 100644
--- a/tests/test1.in
+++ b/tests/test1.in
@@ -123,6 +123,22 @@ echo -e Catch your breath
echo -e 'abc\x21def'
echo -e 'abc\x211def'
+# Verify that pipes don’t conflict with fd redirections
+# This code is very similar to eval. We go over a bunch of fads
+# to make it likely that we will nominally conflict with a pipe
+# fish is supposed to detect this case and dup the pipe to something else
+echo "/bin/echo pipe 3 <&3 3<&-" | source 3<&0
+echo "/bin/echo pipe 4 <&4 4<&-" | source 4<&0
+echo "/bin/echo pipe 5 <&5 5<&-" | source 5<&0
+echo "/bin/echo pipe 6 <&6 6<&-" | source 6<&0
+echo "/bin/echo pipe 7 <&7 7<&-" | source 7<&0
+echo "/bin/echo pipe 8 <&8 8<&-" | source 8<&0
+echo "/bin/echo pipe 9 <&9 9<&-" | source 9<&0
+echo "/bin/echo pipe 10 <&10 10<&-" | source 10<&0
+echo "/bin/echo pipe 11 <&11 11<&-" | source 11<&0
+echo "/bin/echo pipe 12 <&12 12<&-" | source 12<&0
+
+
# Make sure while loops don't run forever with no-exec (#1543)
echo "Checking for infinite loops in no-execute"
echo "while true; end" | ../fish --no-execute