summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-07-07 04:08:55 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-07-07 04:08:55 +0000
commit79d578ebe7656d847fdc8e898ffa081e4754a8a4 (patch)
tree0c153645371a9e25d4fe8976fdc7eac534269e80 /test
parenta383ffa07b4641f6e19500e95cf9388af05e510c (diff)
merge revision(s) 46159,46196: [Backport #8523]
* test/test_timeout.rb (test_timeout): inverted test condition. [Bug #8523] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@46748 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_thread.rb18
-rw-r--r--test/test_timeout.rb12
2 files changed, 21 insertions, 9 deletions
diff --git a/test/ruby/test_thread.rb b/test/ruby/test_thread.rb
index 1e730a1452..a05123f81d 100644
--- a/test/ruby/test_thread.rb
+++ b/test/ruby/test_thread.rb
@@ -363,6 +363,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
t = Thread.new { $SAFE = 3; sleep }
sleep 0.5
diff --git a/test/test_timeout.rb b/test/test_timeout.rb
index 57eca3e478..2a10404bf0 100644
--- a/test/test_timeout.rb
+++ b/test/test_timeout.rb
@@ -11,17 +11,11 @@ class TestTimeout < Test::Unit::TestCase
end
def test_timeout
- @flag = true
- Thread.start {
- sleep 0.1
- @flag = false
- }
- assert_nothing_raised("[ruby-dev:38319]") do
- Timeout.timeout(1) {
- nil while @flag
+ assert_raise(Timeout::Error) do
+ Timeout.timeout(0.1) {
+ nil while true
}
end
- assert !@flag, "[ruby-dev:38319]"
end
def test_cannot_convert_into_time_interval