[前][次][番号順一覧][スレッド一覧]

ruby-changes:55847

From: Yusuke <ko1@a...>
Date: Sun, 26 May 2019 17:23:30 +0900 (JST)
Subject: [ruby-changes:55847] Yusuke Endoh: 4668a3a9da (trunk): test/lib/envutil.rb (EnvUtil.timeout): added.

https://git.ruby-lang.org/ruby.git/commit/?id=4668a3a9da

From 4668a3a9da9f02b073631013e71722868ceafa53 Mon Sep 17 00:00:00 2001
From: Yusuke Endoh <mame@r...>
Date: Sun, 26 May 2019 17:19:46 +0900
Subject: test/lib/envutil.rb (EnvUtil.timeout): added.

It is a wrapper for Timeout.timeout with the scale factor applied.

diff --git a/test/lib/envutil.rb b/test/lib/envutil.rb
index f4d63d5..f9c0e57 100644
--- a/test/lib/envutil.rb
+++ b/test/lib/envutil.rb
@@ -65,6 +65,13 @@ module EnvUtil https://github.com/ruby/ruby/blob/trunk/test/lib/envutil.rb#L65
   end
   module_function :apply_timeout_scale
 
+  def timeout(sec, klass = nil, message = nil, &blk)
+    return yield(sec) if sec == nil or sec.zero?
+    sec = apply_timeout_scale(sec)
+    Timeout.timeout(sec, klass, message, &blk)
+  end
+  module_function :timeout
+
   def terminate(pid, signal = :TERM, pgroup = nil, reprieve = 1)
     reprieve = apply_timeout_scale(reprieve) if reprieve
 
diff --git a/test/ruby/test_rubyoptions.rb b/test/ruby/test_rubyoptions.rb
index 7dcae0c..96edaca 100644
--- a/test/ruby/test_rubyoptions.rb
+++ b/test/ruby/test_rubyoptions.rb
@@ -633,7 +633,7 @@ class TestRubyOptions < Test::Unit::TestCase https://github.com/ruby/ruby/blob/trunk/test/ruby/test_rubyoptions.rb#L633
       assert_match(/hello world/, ps)
       assert_operator now, :<, stop
       Process.kill :KILL, pid
-      Timeout.timeout(5) { Process.wait(pid) }
+      EnvUtil.timeout(5) { Process.wait(pid) }
     end
   end
 
@@ -790,9 +790,8 @@ class TestRubyOptions < Test::Unit::TestCase https://github.com/ruby/ruby/blob/trunk/test/ruby/test_rubyoptions.rb#L790
           m.print("\C-d")
           pid = spawn(EnvUtil.rubybin, :in => s, :out => w)
           w.close
-          timeout = EnvUtil.apply_timeout_scale(3)
           assert_nothing_raised('[ruby-dev:37798]') do
-            result = Timeout.timeout(timeout) {r.read}
+            result = EnvUtil.timeout(3) {r.read}
           end
           Process.wait pid
         }
-- 
cgit v0.10.2


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]