diff options
| author | Yuta Saito <kateinoigakukun@gmail.com> | 2023-11-14 05:31:25 +0000 |
|---|---|---|
| committer | Yuta Saito <kateinoigakukun@gmail.com> | 2023-11-14 16:01:07 +0900 |
| commit | 50e1c293b780e70f333bee9ded27e11a2a2e0606 (patch) | |
| tree | b9c48021d13df6cfb5638470dc52ad2cbf4e509e /test/ruby | |
| parent | 19a7a7660c34c862689f99b4f9b0447be92cbffb (diff) | |
test: Assert only events originated from the test_settracefunc.rb test file
This test suite is flaky on CI, because the test asserts events from
finalizers also. Tracing events from finalizers is not deterministic
and is not a part of test interests, so this commit changes the test
to assert only events originated from the test file itself.
Diffstat (limited to 'test/ruby')
| -rw-r--r-- | test/ruby/test_settracefunc.rb | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/test/ruby/test_settracefunc.rb b/test/ruby/test_settracefunc.rb index 4b271cfe91..03ff522efb 100644 --- a/test/ruby/test_settracefunc.rb +++ b/test/ruby/test_settracefunc.rb @@ -1923,7 +1923,11 @@ CODE def tp_return_value mid ary = [] - TracePoint.new(:return, :b_return){|tp| next if !target_thread?; ary << [tp.event, tp.method_id, tp.return_value]}.enable{ + TracePoint.new(:return, :b_return){|tp| + next if !target_thread? + next if tp.path != __FILE__ + ary << [tp.event, tp.method_id, tp.return_value] + }.enable{ send mid } ary.pop # last b_return event is not required. @@ -2132,7 +2136,7 @@ CODE q = Thread::Queue.new t = Thread.new{ Thread.current.add_trace_func proc{|ev, file, line, *args| - events << [ev, file, line] + events << [ev, line] if file == __FILE__ } # do not stop trace. They will be stopped at Thread termination. q.push 1 _x = 1 @@ -2142,15 +2146,15 @@ CODE q.pop method_for_test_thread_add_trace_func t.join - assert_equal ["c-return", __FILE__, base_line + 3], events[0] - assert_equal ["line", __FILE__, base_line + 6], events[1] - assert_equal ["c-call", __FILE__, base_line + 6], events[2] - assert_equal ["c-return", __FILE__, base_line + 6], events[3] - assert_equal ["line", __FILE__, base_line + 7], events[4] - assert_equal ["line", __FILE__, base_line + 8], events[5] - assert_equal ["call", __FILE__, base_line + -6], events[6] - assert_equal ["return", __FILE__, base_line + -4], events[7] - assert_equal ["line", __FILE__, base_line + 9], events[8] + assert_equal ["c-return", base_line + 3], events[0] + assert_equal ["line", base_line + 6], events[1] + assert_equal ["c-call", base_line + 6], events[2] + assert_equal ["c-return", base_line + 6], events[3] + assert_equal ["line", base_line + 7], events[4] + assert_equal ["line", base_line + 8], events[5] + assert_equal ["call", base_line + -6], events[6] + assert_equal ["return", base_line + -4], events[7] + assert_equal ["line", base_line + 9], events[8] assert_equal nil, events[9] # other thread |
