From d8ea05c1267dafe0b64a315764362dfece295f80 Mon Sep 17 00:00:00 2001 From: usa Date: Sun, 16 Apr 2017 02:00:24 +0000 Subject: * test/ruby/test_io.rb (test_race_closed_stream): separate because it stops entire test process on Windows. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58368 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/ruby/test_io.rb | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) (limited to 'test') diff --git a/test/ruby/test_io.rb b/test/ruby/test_io.rb index 3598634f22..ddce1d1af5 100644 --- a/test/ruby/test_io.rb +++ b/test/ruby/test_io.rb @@ -3398,27 +3398,30 @@ __END__ end def test_race_closed_stream - bug13158 = '[ruby-core:79262] [Bug #13158]' - closed = nil - q = Queue.new - IO.pipe do |r, w| - thread = Thread.new do - begin - q << true - while r.gets + assert_separately([], "#{<<-"begin;"}\n#{<<-"end;"}") + begin; + bug13158 = '[ruby-core:79262] [Bug #13158]' + closed = nil + q = Queue.new + IO.pipe do |r, w| + thread = Thread.new do + begin + q << true + while r.gets + end + ensure + closed = r.closed? end - ensure - closed = r.closed? end + q.pop + sleep 0.01 while thread.status != 'sleep' + r.close + assert_raise_with_message(IOError, /stream closed/) do + thread.join + end + assert_equal(true, closed, bug13158 + ': stream should be closed') end - q.pop - sleep 0.01 while thread.status != 'sleep' - r.close - assert_raise_with_message(IOError, /stream closed/) do - thread.join - end - assert_equal(true, closed, "#{bug13158}: stream should be closed") - end + end; end if RUBY_ENGINE == "ruby" # implementation details -- cgit v1.2.3