diff options
author | k0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-11-20 02:16:30 +0000 |
---|---|---|
committer | k0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-11-20 02:16:30 +0000 |
commit | 59676f6d030ff06d6e577860150ed1aa3aa1046a (patch) | |
tree | f04c6cd892b9d21fde9db58f4d43e983cc2aa932 /bootstraptest | |
parent | 5187ea768f57315e61486122d688f1992d4cb21f (diff) |
revert r65820 and retry assert_finish
From: MSP-Greg <greg.mpls@gmail.com>
https://github.com/ruby/ruby/commit/5187ea768f57315e61486122d688f1992d4cb21f
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65821 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'bootstraptest')
-rw-r--r-- | bootstraptest/pending.rb | 8 | ||||
-rwxr-xr-x | bootstraptest/runner.rb | 6 | ||||
-rw-r--r-- | bootstraptest/test_thread.rb | 6 |
3 files changed, 12 insertions, 8 deletions
diff --git a/bootstraptest/pending.rb b/bootstraptest/pending.rb index fa4e04c6da..744c0adac1 100644 --- a/bootstraptest/pending.rb +++ b/bootstraptest/pending.rb @@ -37,11 +37,3 @@ assert_normal_exit %q{ r.instance_eval { initialize r, r } r.inspect } - -# This test randomly fails on AppVeyor msys2 with: -# test_thread.rb: A non-blocking socket operation could not be completed immediately. - read would block -assert_finish 3, %{ - th = Thread.new {sleep 0.2} - th.join(0.1) - th.join -} diff --git a/bootstraptest/runner.rb b/bootstraptest/runner.rb index a5d5d219cf..c2a3790236 100755 --- a/bootstraptest/runner.rb +++ b/bootstraptest/runner.rb @@ -383,8 +383,14 @@ def assert_finish(timeout_seconds, testsrc, message = '') end if io.respond_to?(:read_nonblock) if IO.select([io], nil, nil, diff) + tries = 0 begin io.read_nonblock(1024) + rescue IO::WaitReadable + IO.select([io]) + tries += 1 + break if tries > 3 + retry rescue Errno::EAGAIN, EOFError break end while true diff --git a/bootstraptest/test_thread.rb b/bootstraptest/test_thread.rb index 2b549b9ed9..d16295de8b 100644 --- a/bootstraptest/test_thread.rb +++ b/bootstraptest/test_thread.rb @@ -249,6 +249,12 @@ assert_equal 'ok', %{ } assert_finish 3, %{ + th = Thread.new {sleep 0.2} + th.join(0.1) + th.join +} + +assert_finish 3, %{ require 'timeout' th = Thread.new {sleep 0.2} begin |