mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* 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:
parent
8beb0d3587
commit
e89bebdab4
2 changed files with 28 additions and 12 deletions
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue