Issue #7781 has been reported by starrychloe (Chloe S).

----------------------------------------
Bug #7781: Ruby fails make test on Cygwin for test_io.rb.
https://bugs.ruby-lang.org/issues/7781

Author: starrychloe (Chloe S)
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 
ruby -v: ruby 1.9.3p374 (2013-01-15 revision 38858) [i386-cygwin]


When compiling Ruby on Cygwin.com, it fails 'make test' for test_io.rb. 

Chloe@dumbopc ~/ruby-1.9.3-p374
$ uname -a
CYGWIN_NT-5.1 dumbopc 1.7.17(0.262/5/3) 2012-10-19 14:39 i686 Cygwin
$ ./ruby -v
ruby 1.9.3p374 (2013-01-15 revision 38858) [i386-cygwin]

$ make test
...
test_thread.rb ..................................................
#262 test_io.rb:
       at_exit { p :foo }

       megacontent = "abc" * 12345678
       #File.open("megasrc", "w") {|f| f << megacontent }

       Thread.new { sleep rand*0.2; Process.kill(:INT, $$) }

       r1, w1 = IO.pipe
       r2, w2 = IO.pipe
       t1 = Thread.new { w1 << megacontent; w1.close }
       t2 = Thread.new { r2.read; r2.close }
       IO.copy_stream(r1, w2) rescue nil
       w2.close
       r1.close
       t1.join
       t2.join
       #=> killed by SIGKILL (signal 9) (timeout)  megacontent-copy_stream
#263 test_io.rb:
       at_exit { p :foo }

       megacontent = "abc" * 12345678
       #File.open("megasrc", "w") {|f| f << megacontent }

       Thread.new { sleep rand*0.2; Process.kill(:INT, $$) }

       r1, w1 = IO.pipe
       r2, w2 = IO.pipe
       t1 = Thread.new { w1 << megacontent; w1.close }
       t2 = Thread.new { r2.read; r2.close }
       IO.copy_stream(r1, w2) rescue nil
       w2.close
       r1.close
       t1.join
       t2.join
       #=> killed by SIGKILL (signal 9) (timeout)  megacontent-copy_stream
#264 test_io.rb:
       at_exit { p :foo }

       megacontent = "abc" * 12345678
       #File.open("megasrc", "w") {|f| f << megacontent }

       Thread.new { sleep rand*0.2; Process.kill(:INT, $$) }

       r1, w1 = IO.pipe
       r2, w2 = IO.pipe
       t1 = Thread.new { w1 << megacontent; w1.close }
       t2 = Thread.new { r2.read; r2.close }
       IO.copy_stream(r1, w2) rescue nil
       w2.close
       r1.close
       t1.join
       t2.join
       #=> killed by SIGKILL (signal 9) (timeout)  megacontent-copy_stream
#265 test_io.rb:
       at_exit { p :foo }

       megacontent = "abc" * 12345678
       #File.open("megasrc", "w") {|f| f << megacontent }

       Thread.new { sleep rand*0.2; Process.kill(:INT, $$) }

       r1, w1 = IO.pipe
       r2, w2 = IO.pipe
       t1 = Thread.new { w1 << megacontent; w1.close }
       t2 = Thread.new { r2.read; r2.close }
       IO.copy_stream(r1, w2) rescue nil
       w2.close
       r1.close
       t1.join
       t2.join
       #=> killed by SIGKILL (signal 9) (timeout)  megacontent-copy_stream
#266 test_io.rb:
       at_exit { p :foo }

       megacontent = "abc" * 12345678
       #File.open("megasrc", "w") {|f| f << megacontent }

       Thread.new { sleep rand*0.2; Process.kill(:INT, $$) }

       r1, w1 = IO.pipe
       r2, w2 = IO.pipe
       t1 = Thread.new { w1 << megacontent; w1.close }
       t2 = Thread.new { r2.read; r2.close }
       IO.copy_stream(r1, w2) rescue nil
       w2.close
       r1.close
       t1.join
       t2.join
       #=> killed by SIGKILL (signal 9) (timeout)  megacontent-copy_stream
#267 test_io.rb:
       at_exit { p :foo }

       megacontent = "abc" * 12345678
       #File.open("megasrc", "w") {|f| f << megacontent }

       Thread.new { sleep rand*0.2; Process.kill(:INT, $$) }

       r1, w1 = IO.pipe
       r2, w2 = IO.pipe
       t1 = Thread.new { w1 << megacontent; w1.close }
       t2 = Thread.new { r2.read; r2.close }
       IO.copy_stream(r1, w2) rescue nil
       w2.close
       r1.close
       t1.join
       t2.join
       #=> killed by SIGKILL (signal 9) (timeout)  megacontent-copy_stream
#268 test_io.rb:
       at_exit { p :foo }

       megacontent = "abc" * 12345678
       #File.open("megasrc", "w") {|f| f << megacontent }

       Thread.new { sleep rand*0.2; Process.kill(:INT, $$) }

       r1, w1 = IO.pipe
       r2, w2 = IO.pipe
       t1 = Thread.new { w1 << megacontent; w1.close }
       t2 = Thread.new { r2.read; r2.close }
       IO.copy_stream(r1, w2) rescue nil
       w2.close
       r1.close
       t1.join
       t2.join
       #=> killed by SIGKILL (signal 9) (timeout)  megacontent-copy_stream
#269 test_io.rb:
       at_exit { p :foo }

       megacontent = "abc" * 12345678
       #File.open("megasrc", "w") {|f| f << megacontent }

       Thread.new { sleep rand*0.2; Process.kill(:INT, $$) }

       r1, w1 = IO.pipe
       r2, w2 = IO.pipe
       t1 = Thread.new { w1 << megacontent; w1.close }
       t2 = Thread.new { r2.read; r2.close }
       IO.copy_stream(r1, w2) rescue nil
       w2.close
       r1.close
       t1.join
       t2.join
       #=> killed by SIGKILL (signal 9) (timeout)  megacontent-copy_stream
#270 test_io.rb:
       at_exit { p :foo }

       megacontent = "abc" * 12345678
       #File.open("megasrc", "w") {|f| f << megacontent }

       Thread.new { sleep rand*0.2; Process.kill(:INT, $$) }

       r1, w1 = IO.pipe
       r2, w2 = IO.pipe
       t1 = Thread.new { w1 << megacontent; w1.close }
       t2 = Thread.new { r2.read; r2.close }
       IO.copy_stream(r1, w2) rescue nil
       w2.close
       r1.close
       t1.join
       t2.join
       #=> killed by SIGKILL (signal 9) (timeout)  megacontent-copy_stream
#271 test_io.rb:
       at_exit { p :foo }

       megacontent = "abc" * 12345678
       #File.open("megasrc", "w") {|f| f << megacontent }

       Thread.new { sleep rand*0.2; Process.kill(:INT, $$) }

       r1, w1 = IO.pipe
       r2, w2 = IO.pipe
       t1 = Thread.new { w1 << megacontent; w1.close }
       t2 = Thread.new { r2.read; r2.close }
       IO.copy_stream(r1, w2) rescue nil
       w2.close
       r1.close
       t1.join
       t2.join
       #=> killed by SIGKILL (signal 9) (timeout)  megacontent-copy_stream
FAIL 10/960 tests failed
uncommon.mk:478: recipe for target `yes-btest-ruby' failed
make: *** [yes-btest-ruby] Error 1



-- 
http://bugs.ruby-lang.org/