From 6671a826ac0531fb8df2b3fceb726f66ddcce5af Mon Sep 17 00:00:00 2001 From: eregon Date: Tue, 12 Dec 2017 18:44:21 +0000 Subject: Fix tests which fail with extra stderr output when a Thread dies * [Feature #14143] [ruby-core:83979]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61186 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/digest/test_digest.rb | 1 + test/ruby/test_io.rb | 16 ++++++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/test/digest/test_digest.rb b/test/digest/test_digest.rb index abb6352e5a..4cae455076 100644 --- a/test/digest/test_digest.rb +++ b/test/digest/test_digest.rb @@ -264,6 +264,7 @@ module TestDigest assert_nothing_raised { t = Thread.start { sleep 0.1 + Thread.current.report_on_exception = false Digest::Foo.new } Digest(:Foo).new diff --git a/test/ruby/test_io.rb b/test/ruby/test_io.rb index a0a574e69d..f3b509a261 100644 --- a/test/ruby/test_io.rb +++ b/test/ruby/test_io.rb @@ -2911,11 +2911,15 @@ __END__ $stdin.reopen(r) r.close read_thread = Thread.new do - $stdin.read(1) + begin + $stdin.read(1) + rescue IOError => e + e + end end sleep(0.1) until read_thread.stop? $stdin.close - assert_raise(IOError) {read_thread.join} + assert_kind_of(IOError, read_thread.value) end end; end @@ -3539,7 +3543,9 @@ __END__ thread = Thread.new do begin q << true - while r.gets + assert_raise_with_message(IOError, /stream closed/) do + while r.gets + end end ensure closed = r.closed? @@ -3548,9 +3554,7 @@ __END__ q.pop sleep 0.01 until thread.stop? r.close - assert_raise_with_message(IOError, /stream closed/) do - thread.join - end + thread.join assert_equal(true, closed, bug13158 + ': stream should be closed') end end; -- cgit v1.2.3