diff options
author | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-06-15 15:08:29 +0000 |
---|---|---|
committer | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-06-15 15:08:29 +0000 |
commit | 29b22ba2c618801116abeac5f01c0e8bdc24dfc9 (patch) | |
tree | e12cb6b94009639816ea62154cfbf8a06048cecd /test/ruby/test_io.rb | |
parent | 6e10636d32a7b90f0636cfb9cda42ca68350a6ba (diff) | |
download | ruby-29b22ba2c618801116abeac5f01c0e8bdc24dfc9.tar.gz |
* test/ruby/test_io.rb (safe_4): does not use Timeout because
Timeout.timeout uses Thread#kill which raises SecurityError when
$SAFE == 4. based on a patch from Tomoyuki Chikanaga.
[ruby-dev:41484]
* test/ruby/test_io.rb (test_print_separators): use pipe (test helper
method) instead of IO.pipe. [ruby-dev:41484]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28330 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby/test_io.rb')
-rw-r--r-- | test/ruby/test_io.rb | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/test/ruby/test_io.rb b/test/ruby/test_io.rb index 57a7c7c9a4..41d3640105 100644 --- a/test/ruby/test_io.rb +++ b/test/ruby/test_io.rb @@ -740,12 +740,14 @@ class TestIO < Test::Unit::TestCase end def safe_4 - Thread.new do - Timeout.timeout(10) do - $SAFE = 4 - yield - end - end.join + t = Thread.new do + $SAFE = 4 + yield + end + unless t.join(10) + t.kill + flunk("timeout in safe_4") + end end def pipe(wp, rp) @@ -1461,15 +1463,16 @@ End def test_print_separators $, = ':' $\ = "\n" - r, w = IO.pipe - w.print('a') - w.print('a','b','c') - w.close - assert_equal("a\n", r.gets) - assert_equal("a:b:c\n", r.gets) - assert_nil r.gets - r.close - + pipe(proc do |w| + w.print('a') + w.print('a','b','c') + w.close + end, proc do |r| + assert_equal("a\n", r.gets) + assert_equal("a:b:c\n", r.gets) + assert_nil r.gets + r.close + end) ensure $, = nil $\ = nil |