diff options
author | Takashi Kokubun <[email protected]> | 2020-06-24 22:43:13 -0700 |
---|---|---|
committer | Takashi Kokubun <[email protected]> | 2020-06-24 22:43:14 -0700 |
commit | ab62aa7037f30dbab04a9455a328496287c968da (patch) | |
tree | 80d1b4d76551d2e5f117418645a6ea72713381d6 /test | |
parent | 5e860ed4c16e1fe6978754691584041d6a8cb93a (diff) |
Run a TracePoint test in an insolated process
to prevent a random failure like
http://ci.rvm.jp/results/trunk-random2@phosphorus-docker/3024287
Diffstat (limited to 'test')
-rw-r--r-- | test/ruby/test_settracefunc.rb | 18 |
1 files changed, 10 insertions, 8 deletions
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 |