Sha256: 5ebcecf84a3ab59b1b6d2984e8eb6209208b5d883647b67fab6420fc7e248633
Contents?: true
Size: 1.49 KB
Versions: 4
Compression:
Stored size: 1.49 KB
Contents
# frozen_string_literal: true require_relative 'helper' class TraceTest < MiniTest::Test def test_tracing_enabled events = [] Thread.backend.trace_proc = proc { |*e| events << e } snooze assert_equal [ [:fiber_schedule, Fiber.current, nil, false], [:fiber_switchpoint, Fiber.current, ["#{__FILE__}:#{__LINE__ - 4}:in `test_tracing_enabled'"] + caller], [:fiber_run, Fiber.current, nil] ], events ensure Thread.backend.trace_proc = nil end def test_2_fiber_trace events = [] Thread.backend.trace_proc = proc { |*e| events << e } f = spin { sleep 0; :byebye } l0 = __LINE__ + 1 suspend sleep 0 Thread.backend.trace_proc = nil # remove caller info for :fiber_switchpoint events events.each {|e| e.pop if e[0] == :fiber_switchpoint } assert_equal [ [:fiber_create, f], [:fiber_schedule, f, nil, false], [:fiber_switchpoint, Fiber.current], [:fiber_run, f, nil], [:fiber_switchpoint, f], [:fiber_event_poll_enter, f], [:fiber_schedule, f, nil, false], [:fiber_event_poll_leave, f], [:fiber_run, f, nil], [:fiber_terminate, f, :byebye], [:fiber_switchpoint, f], [:fiber_switchpoint, Fiber.current], [:fiber_event_poll_enter, Fiber.current], [:fiber_schedule, Fiber.current, nil, false], [:fiber_event_poll_leave, Fiber.current], [:fiber_run, Fiber.current, nil] ], events ensure Thread.backend.trace_proc = nil end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
polyphony-0.78 | test/test_trace.rb |
polyphony-0.77 | test/test_trace.rb |
polyphony-0.76 | test/test_trace.rb |
polyphony-0.75 | test/test_trace.rb |