diff options
author | ridiculousfish <corydoras@ridiculousfish.com> | 2015-01-04 14:18:06 -0800 |
---|---|---|
committer | ridiculousfish <corydoras@ridiculousfish.com> | 2015-01-04 14:18:06 -0800 |
commit | e045eabad63e40684fcb335247ed6cfe0ec5493a (patch) | |
tree | 9d62c3e9529f1ed9ef567fc54a6de0969293033c /tests/test1.in | |
parent | 218bd7a687bfc7f97661f6b2809075d7c65d5ed6 (diff) |
Add tests to verify pipes do not conflict with fd redirections
Diffstat (limited to 'tests/test1.in')
-rw-r--r-- | tests/test1.in | 16 |
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 |