diff --git a/ChangeLog b/ChangeLog index afd513adff..00463f7d85 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Tue Apr 28 19:10:42 2009 Kazuhiro NISHIYAMA + + * test/test_timeout.rb: backported from 1.9. + Fri Apr 24 14:55:15 2009 Nobuyoshi Nakada * eval.c (rb_thread_start_timer): guard condition was inverted. diff --git a/test/test_timeout.rb b/test/test_timeout.rb new file mode 100644 index 0000000000..9ec9c02a93 --- /dev/null +++ b/test/test_timeout.rb @@ -0,0 +1,26 @@ +require 'test/unit' +require 'timeout' +require 'thread' + +class TestTimeout < Test::Unit::TestCase + def test_queue + q = Queue.new + assert_raise(Timeout::Error, "[ruby-dev:32935]") { + timeout(0.1) { q.pop } + } + 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 + } + end + assert !@flag, "[ruby-dev:38319]" + end +end