зеркало из https://github.com/github/ruby.git
extend timeout limit.
* test/ruby/test_process.rb (test_threading_works_after_exec_fail): extend timeout limit from 30 to 90 because some test nodes fails with timeout error. Also use a Queue instead of a local variable to communicate with threads. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
032e8fdf40
Коммит
cc2f982852
|
@ -2281,7 +2281,7 @@ EOS
|
|||
def test_threading_works_after_exec_fail
|
||||
r, w = IO.pipe
|
||||
pid = status = nil
|
||||
Timeout.timeout(30) do
|
||||
Timeout.timeout(90) do
|
||||
pid = fork do
|
||||
r.close
|
||||
begin
|
||||
|
@ -2289,11 +2289,12 @@ EOS
|
|||
rescue SystemCallError
|
||||
w.syswrite("exec failed\n")
|
||||
end
|
||||
q = Queue.new
|
||||
run = true
|
||||
th1 = Thread.new { i = 0; i += 1 while run; i }
|
||||
th2 = Thread.new { j = 0; j += 1 while run && Thread.pass.nil?; j }
|
||||
th1 = Thread.new { i = 0; i += 1 while q.empty?; i }
|
||||
th2 = Thread.new { j = 0; j += 1 while q.empty? && Thread.pass.nil?; j }
|
||||
sleep 0.5
|
||||
run = false
|
||||
q << true
|
||||
w.syswrite "#{th1.value} #{th2.value}\n"
|
||||
end
|
||||
w.close
|
||||
|
|
Загрузка…
Ссылка в новой задаче