* test/thread/test_queue.rb (test_thr_kill): show the number of loop

run when the test failed.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34107 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
akr 2011-12-23 01:15:35 +00:00
Родитель 8beb0d3587
Коммит e89bebdab4
2 изменённых файлов: 28 добавлений и 12 удалений

Просмотреть файл

@ -1,3 +1,8 @@
Fri Dec 23 10:14:47 2011 Tanaka Akira <akr@fsij.org>
* test/thread/test_queue.rb (test_thr_kill): show the number of loop
run when the test failed.
Fri Dec 23 09:23:48 2011 Tanaka Akira <akr@fsij.org>
* test/test_pty.rb (test_pty_check_default): call PTY.check until

Просмотреть файл

@ -1,5 +1,6 @@
require 'test/unit'
require 'thread'
require 'tmpdir'
require_relative '../ruby/envutil'
class TestQueue < Test::Unit::TestCase
@ -57,18 +58,28 @@ class TestQueue < Test::Unit::TestCase
def test_thr_kill
bug5343 = '[ruby-core:39634]'
assert_normal_exit(<<-'_eom', bug5343, {:timeout => 20})
require "thread"
2000.times do
queue = Queue.new
r, w = IO.pipe
th = Thread.start {
queue.push(nil)
r.read 1
}
queue.pop
th.kill.join
Dir.mktmpdir {|d|
timeout = 20
total_loop = 2000
begin
assert_normal_exit(<<-"_eom", bug5343, {:timeout => timeout, :chdir=>d})
require "thread"
#{total_loop}.times do |i|
open("test_thr_kill_count", "w") {|f| f.puts i }
queue = Queue.new
r, w = IO.pipe
th = Thread.start {
queue.push(nil)
r.read 1
}
queue.pop
th.kill.join
end
_eom
rescue Timeout::Error
count = File.read("#{d}/test_thr_kill_count").to_i
flunk "only #{count} times looped in #{timeout} seconds. (should run #{total_loop} times)"
end
_eom
}
end
end