From 0280d1fb9ab2695852a7926d095e7cfeae4a2f7e Mon Sep 17 00:00:00 2001 From: nobu Date: Wed, 10 May 2017 06:38:30 +0000 Subject: test_exception.rb: test_machine_stackoverflow_by_trace * test/ruby/test_exception.rb (test_machine_stackoverflow_by_trace): move from test_trace.rb and rename, to be excluded by the default. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/ruby/test_exception.rb | 24 ++++++++++++++++++++++++ test/ruby/test_trace.rb | 24 ------------------------ 2 files changed, 24 insertions(+), 24 deletions(-) (limited to 'test/ruby') diff --git a/test/ruby/test_exception.rb b/test/ruby/test_exception.rb index db13db76d6..6955118de7 100644 --- a/test/ruby/test_exception.rb +++ b/test/ruby/test_exception.rb @@ -604,6 +604,30 @@ end.join rescue SystemStackError end + def test_machine_stackoverflow_by_trace + assert_normal_exit("#{<<-"begin;"}\n#{<<~"end;"}", timeout: 60) + begin; + require 'timeout' + require 'tracer' + class HogeError < StandardError + def to_s + message.upcase # disable tailcall optimization + end + end + Tracer.stdout = open(IO::NULL, "w") + begin + Timeout.timeout(5) do + Tracer.on + HogeError.new.to_s + end + rescue Timeout::Error + # ok. there are no SEGV or critical error + rescue SystemStackError => e + # ok. + end + end; + end + def test_cause msg = "[Feature #8257]" cause = nil diff --git a/test/ruby/test_trace.rb b/test/ruby/test_trace.rb index 434da70107..77be94e9be 100644 --- a/test/ruby/test_trace.rb +++ b/test/ruby/test_trace.rb @@ -59,28 +59,4 @@ class TestTrace < Test::Unit::TestCase a.any? {true} }.value, bug2722) end - - def test_trace_stackoverflow - assert_normal_exit("#{<<-"begin;"}\n#{<<~"end;"}", timeout: 60) - begin; - require 'timeout' - require 'tracer' - class HogeError < StandardError - def to_s - message.upcase # disable tailcall optimization - end - end - Tracer.stdout = open(IO::NULL, "w") - begin - Timeout.timeout(5) do - Tracer.on - HogeError.new.to_s - end - rescue Timeout::Error - # ok. there are no SEGV or critical error - rescue SystemStackError => e - # ok. - end - end; - end end -- cgit v1.2.3