summaryrefslogtreecommitdiff
path: root/test/ruby/test_thread.rb
diff options
context:
space:
mode:
authornagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-07-13 14:35:17 +0000
committernagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-07-13 14:35:17 +0000
commit30c0ad5563630200a779d2e9c7e01fae98e94968 (patch)
tree6124020f71b8ee8dcda24ee6207b8cd70974d077 /test/ruby/test_thread.rb
parent9bc1b8e9a095c7cbf3b4b661dacbd1dbfd4257b2 (diff)
merge revision(s) r44516,r46159,r46196: [Backport #8523]
test_timeout.rb: shorten waiting times * test/test_timeout.rb (test_timeout): inverted test condition. [Bug #8523] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46810 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby/test_thread.rb')
-rw-r--r--test/ruby/test_thread.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/ruby/test_thread.rb b/test/ruby/test_thread.rb
index 110bbdd6de..6568b8dfbc 100644
--- a/test/ruby/test_thread.rb
+++ b/test/ruby/test_thread.rb
@@ -358,6 +358,24 @@ class TestThread < Test::Unit::TestCase
c.kill if c
end
+ def test_switch_while_busy_loop
+ bug1402 = "[ruby-dev:38319] [Bug #1402]"
+ flag = true
+ th = Thread.current
+ waiter = Thread.start {
+ sleep 0.1
+ flag = false
+ sleep 1
+ th.raise(bug1402)
+ }
+ assert_nothing_raised(RuntimeError, bug1402) do
+ nil while flag
+ end
+ assert(!flag, bug1402)
+ ensure
+ waiter.kill.join
+ end
+
def test_safe_level
ok = false
t = Thread.new do