diff options
Diffstat (limited to 'trunk/bootstraptest/test_io.rb')
-rw-r--r-- | trunk/bootstraptest/test_io.rb | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/trunk/bootstraptest/test_io.rb b/trunk/bootstraptest/test_io.rb deleted file mode 100644 index c0b906fb4d..0000000000 --- a/trunk/bootstraptest/test_io.rb +++ /dev/null @@ -1,94 +0,0 @@ -assert_finish 5, %q{ - r, w = IO.pipe - t1 = Thread.new { r.sysread(1) } - t2 = Thread.new { r.sysread(1) } - sleep 0.1 - w.write "a" - sleep 0.1 - w.write "a" -}, '[ruby-dev:31866]' - -assert_finish 10, %q{ - begin - require "io/nonblock" - r, w = IO.pipe - w.nonblock = true - w.write_nonblock("a" * 100000) - w.nonblock = false - t1 = Thread.new { w.write("b" * 4096) } - t2 = Thread.new { w.write("c" * 4096) } - sleep 0.5 - r.sysread(4096).length - sleep 0.5 - r.sysread(4096).length - t1.join - t2.join - rescue LoadError - end -}, '[ruby-dev:32566]' - -assert_finish 1, %q{ - r, w = IO.pipe - Thread.new { - w << "ab" - sleep 0.1 - w << "ab" - } - r.gets("abab") -} - -assert_equal 'ok', %q{ - require 'tmpdir' - begin - tmpname = "#{Dir.tmpdir}/ruby-btest-#{$$}-#{rand(0x100000000).to_s(36)}" - rw = File.open(tmpname, File::RDWR|File::CREAT|File::EXCL) - rescue Errno::EEXIST - retry - end - save = STDIN.dup - STDIN.reopen(rw) - STDIN.reopen(save) - rw.close - File.unlink(tmpname) - :ok -} - -assert_equal 'ok', %q{ - require 'tmpdir' - begin - tmpname = "#{Dir.tmpdir}/ruby-btest-#{$$}-#{rand(0x100000000).to_s(36)}" - rw = File.open(tmpname, File::RDWR|File::CREAT|File::EXCL) - rescue Errno::EEXIST - retry - end - save = STDIN.dup - STDIN.reopen(rw) - STDIN.print "a" - STDIN.reopen(save) - rw.close - File.unlink(tmpname) - :ok -} - -assert_normal_exit %q{ - ARGF.set_encoding "foo" -} - -50.times do - assert_normal_exit %q{ - 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 } - IO.copy_stream(r1, w2) rescue nil - r2.close; w2.close - r1.close; w1.close - }, '', ["INT"] or break -end |