summaryrefslogtreecommitdiff
path: root/test/ruby/test_io.rb
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-04-16 02:00:24 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-04-16 02:00:24 +0000
commitd8ea05c1267dafe0b64a315764362dfece295f80 (patch)
tree1a4e849a1f8517cd755ed9e78f677fece167ca3c /test/ruby/test_io.rb
parentc747848d982201f8fa4b31e65a89a2e5f284a4db (diff)
* 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
Diffstat (limited to 'test/ruby/test_io.rb')
-rw-r--r--test/ruby/test_io.rb39
1 files changed, 21 insertions, 18 deletions
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