aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-06-15 15:08:29 +0000
committermame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-06-15 15:08:29 +0000
commit29b22ba2c618801116abeac5f01c0e8bdc24dfc9 (patch)
treee12cb6b94009639816ea62154cfbf8a06048cecd
parent6e10636d32a7b90f0636cfb9cda42ca68350a6ba (diff)
downloadruby-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
-rw-r--r--ChangeLog10
-rw-r--r--test/ruby/test_io.rb33
2 files changed, 28 insertions, 15 deletions
diff --git a/ChangeLog b/ChangeLog
index 773026956d..c2af39703e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+Wed Jun 16 00:04:38 2010 Yusuke Endoh <mame@tsg.ne.jp>
+
+ * 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]
+
Tue Jun 15 17:14:58 2010 WATANABE Hirofumi <eban@ruby-lang.org>
* ext/fiddle/extconf.rb: De Morgan's laws.
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