From ab62aa7037f30dbab04a9455a328496287c968da Mon Sep 17 00:00:00 2001 From: Takashi Kokubun Date: Wed, 24 Jun 2020 22:43:13 -0700 Subject: Run a TracePoint test in an insolated process to prevent a random failure like http://ci.rvm.jp/results/trunk-random2@phosphorus-docker/3024287 --- test/ruby/test_settracefunc.rb | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'test/ruby') diff --git a/test/ruby/test_settracefunc.rb b/test/ruby/test_settracefunc.rb index 80490204ca..1515767a57 100644 --- a/test/ruby/test_settracefunc.rb +++ b/test/ruby/test_settracefunc.rb @@ -2295,15 +2295,17 @@ class TestSetTraceFunc < Test::Unit::TestCase def test_tracepoint_opt_invokebuiltin_delegate_leave code = 'puts RubyVM::InstructionSequence.of("\x00".method(:unpack)).disasm' - out, _err, _status = EnvUtil.invoke_ruby(['-e', code], '', true) + out = EnvUtil.invoke_ruby(['-e', code], '', true).first assert_match /^0000 opt_invokebuiltin_delegate_leave /, out - events = [] - TracePoint.new(:return) do |tp| - events << [tp.event, tp.method_id] - end.enable do - "\x00".unpack("c") - end - assert_equal [[:return, :unpack]], events + event = eval(EnvUtil.invoke_ruby(['-e', <<~'EOS'], '', true).first) + set_trace_func(proc {}); set_trace_func(nil) # Is it okay that this is required? + TracePoint.new(:return) do |tp| + p [tp.event, tp.method_id] + end.enable do + "\x00".unpack("c") + end + EOS + assert_equal [:return, :unpack], event end end -- cgit v1.2.3