summaryrefslogtreecommitdiff
path: root/test/ruby/test_process.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/ruby/test_process.rb')
-rw-r--r--test/ruby/test_process.rb16
1 files changed, 16 insertions, 0 deletions
diff --git a/test/ruby/test_process.rb b/test/ruby/test_process.rb
index 8ecaf304f6..c7f85bd9b2 100644
--- a/test/ruby/test_process.rb
+++ b/test/ruby/test_process.rb
@@ -558,6 +558,22 @@ class TestProcess < Test::Unit::TestCase
}
end unless windows? # passing non-stdio fds is not supported on Windows
+ def test_execopts_redirect_open_fifo
+ with_tmpchdir {|d|
+ system("mknod fifo p")
+ return if !$?.success?
+ assert(FileTest.pipe?("fifo"))
+ t1 = Thread.new {
+ system(*ECHO["output to fifo"], :out=>"fifo")
+ }
+ t2 = Thread.new {
+ IO.popen([*CAT, :in=>"fifo"]) {|f| f.read }
+ }
+ v1, v2 = assert_join_threads([t1, t2])
+ assert_equal("output to fifo\n", v2)
+ }
+ end
+
def test_execopts_redirect_pipe
with_pipe {|r1, w1|
with_pipe {|r2, w2|