summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorKoichi Sasada <ko1@atdot.net>2019-08-08 17:53:36 +0900
committerKoichi Sasada <ko1@atdot.net>2019-08-08 17:56:04 +0900
commitb004d3e8300ba803d4a499148fa4fc6a690149e6 (patch)
treef382c3c32ba64c95b53aaf45b7c2f296ae3d6a06 /test
parent20cb8e8aeab916d659c0359a35687bb8df1f31a6 (diff)
solve "duplicate :raise event" [Bug #15877]
Without this patch, "raise" event invoked twice when raise an exception in "load"ed script. This patch by danielwaterworth (Daniel Waterworth). [Bug #15877]
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_settracefunc.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/ruby/test_settracefunc.rb b/test/ruby/test_settracefunc.rb
index 1f99d3ee88..7d7b672fd8 100644
--- a/test/ruby/test_settracefunc.rb
+++ b/test/ruby/test_settracefunc.rb
@@ -1671,6 +1671,19 @@ class TestSetTraceFunc < Test::Unit::TestCase
ary
end
+ def test_single_raise_inside_load
+ events = []
+ tmpdir = Dir.mktmpdir
+ path = "#{tmpdir}/hola.rb"
+ File.open(path, "w") { |f| f.write("raise") }
+ TracePoint.new(:raise){|tp| next if !target_thread?; events << [tp.event]}.enable{
+ load path rescue nil
+ }
+ assert_equal [[:raise]], events
+ ensure
+ FileUtils.rmtree(tmpdir)
+ end
+
def f_raise
raise
rescue