diff options
Diffstat (limited to 'test/ruby/test_process.rb')
-rw-r--r-- | test/ruby/test_process.rb | 16 |
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| |