1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* test/ruby/test_settracefunc.rb (test_tracepoint_thread): bugfix.

Take care about the thread switch between Thread.new and let to
	  create_thread.
	  TracePoint's block is sometimes run with create_thread == nil,
	  so we have to perform Thread check later.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43804 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
tarui 2013-11-22 18:22:57 +00:00
parent 909d14a1db
commit d56cbe5ad7

View file

@ -786,7 +786,6 @@ class TestSetTraceFunc < Test::Unit::TestCase
thread_self = nil
created_thread = nil
TracePoint.new(:thread_begin, :thread_end){|tp|
next if Thread.current != created_thread
events << [Thread.current,
tp.event,
tp.lineno, #=> 0
@ -799,6 +798,7 @@ class TestSetTraceFunc < Test::Unit::TestCase
created_thread = Thread.new{thread_self = self}
created_thread.join
}
events.reject!{|i| i[0] != created_thread}
assert_equal(self, thread_self)
assert_equal([created_thread, :thread_begin, 0, nil, nil, nil, Thread], events[0])
assert_equal([created_thread, :thread_end, 0, nil, nil, nil, Thread], events[1])