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

ruby-changes:74441

From: Yusuke <ko1@a...>
Date: Fri, 11 Nov 2022 07:42:23 +0900 (JST)
Subject: [ruby-changes:74441] 06e17d7659 (master): Run EnvUtil.apply_timeout_scale outside of assert_separately

https://git.ruby-lang.org/ruby.git/commit/?id=06e17d7659

From 06e17d7659f42cd59634931e5c8d9dd211c7b2e6 Mon Sep 17 00:00:00 2001
From: Yusuke Endoh <mame@r...>
Date: Fri, 11 Nov 2022 07:41:08 +0900
Subject: Run EnvUtil.apply_timeout_scale outside of assert_separately

It does not work well in assert_separately
---
 test/ruby/test_regexp.rb | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/test/ruby/test_regexp.rb b/test/ruby/test_regexp.rb
index ee4c2cef5b..87ce6987e3 100644
--- a/test/ruby/test_regexp.rb
+++ b/test/ruby/test_regexp.rb
@@ -1580,9 +1580,8 @@ class TestRegexp < Test::Unit::TestCase https://github.com/ruby/ruby/blob/trunk/test/ruby/test_regexp.rb#L1580
 
   def test_s_timeout
     assert_separately([], "#{<<-"begin;"}\n#{<<-'end;'}")
+      timeout = #{ EnvUtil.apply_timeout_scale(0.2).inspect }
     begin;
-      timeout = EnvUtil.apply_timeout_scale(0.2)
-
       Regexp.timeout = timeout
       assert_equal(timeout, Regexp.timeout)
 
@@ -1622,13 +1621,10 @@ class TestRegexp < Test::Unit::TestCase https://github.com/ruby/ruby/blob/trunk/test/ruby/test_regexp.rb#L1621
 
   def per_instance_redos_test(global_timeout, per_instance_timeout, expected_timeout)
     assert_separately([], "#{<<-"begin;"}\n#{<<-'end;'}")
-      global_timeout = #{ global_timeout.inspect }
-      per_instance_timeout = #{ per_instance_timeout.inspect }
-      expected_timeout = #{ expected_timeout.inspect }
+      global_timeout = #{ EnvUtil.apply_timeout_scale(global_timeout).inspect }
+      per_instance_timeout = #{ (per_instance_timeout ? EnvUtil.apply_timeout_scale(per_instance_timeout) : nil).inspect }
+      expected_timeout = #{ EnvUtil.apply_timeout_scale(expected_timeout).inspect }
     begin;
-      global_timeout = EnvUtil.apply_timeout_scale(global_timeout)
-      per_instance_timeout = EnvUtil.apply_timeout_scale(per_instance_timeout)
-
       Regexp.timeout = global_timeout
 
       re = Regexp.new("^(a*)\\1b?a*$", timeout: per_instance_timeout)
@@ -1676,8 +1672,8 @@ class TestRegexp < Test::Unit::TestCase https://github.com/ruby/ruby/blob/trunk/test/ruby/test_regexp.rb#L1672
 
   def test_cache_optimization_exponential
     assert_separately([], "#{<<-"begin;"}\n#{<<-'end;'}")
+      timeout = #{ EnvUtil.apply_timeout_scale(2).inspect }
     begin;
-      timeout = EnvUtil.apply_timeout_scale(2)
       Regexp.timeout = timeout
 
       assert_nil(/^(a*)*$/ =~ "a" * 1000000 + "x")
@@ -1686,8 +1682,8 @@ class TestRegexp < Test::Unit::TestCase https://github.com/ruby/ruby/blob/trunk/test/ruby/test_regexp.rb#L1682
 
   def test_cache_optimization_square
     assert_separately([], "#{<<-"begin;"}\n#{<<-'end;'}")
+      timeout = #{ EnvUtil.apply_timeout_scale(2).inspect }
     begin;
-      timeout = EnvUtil.apply_timeout_scale(2)
       Regexp.timeout = timeout
 
       assert_nil(/^a*b?a*$/ =~ "a" * 1000000 + "x")
-- 
cgit v1.2.3


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

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