Issue #7032 has been reported by ktsj (Kazuki Tsujimoto).
Bug #7032: TestSetTraceFuncの実行に失敗する
Author: ktsj (Kazuki Tsujimoto)
Status: Open
Priority: Normal
Assignee:
Category:
Target version:
ruby -v: ruby 2.0.0dev (2012-09-16 trunk 36980) [x86_64-linux]
=begin
辻本です。
以下のようにテストを実行すると、まれにTestSetTraceFuncの実行に失敗することがあります。
$ make TESTS=‘-vq -j1 objspace/test_objspace.rb
json/test_json_fixtures.rb
json/test_json.rb
xmlrpc/test_marshal.rb
xmlrpc/test_features.rb
uri/test_parser.rb
uri/test_http.rb
uri/test_ftp.rb
uri/test_generic.rb
io/console/test_io_console.rb
rexml/test_stream.rb
rexml/test_light.rb
rexml/test_xpathtext.rb
rexml/test_xpath_pred.rb
rexml/test_rexml_issuezilla.rb
ruby/test_case.rb
ruby/test_hash.rb
ruby/test_marshal.rb
ruby/test_proc.rb
ruby/test_yield.rb
ruby/test_string.rb
ruby/test_settracefunc.rb’ test-all
失敗するケースは2つ確認していて、
1つめがRubyレベルで失敗するもの:
TestSetTraceFunc#test_break = 0.00 s = .
TestSetTraceFunc#test_c_call = 0.00 s = .
TestSetTraceFunc#test_call = 0.00 s = .
TestSetTraceFunc#test_class = 0.00 s = .
TestSetTraceFunc#test_invalid_proc = 0.00 s = .
TestSetTraceFunc#test_raise = 0.00 s = .
TestSetTraceFunc#test_raise_in_trace = 0.00 s = .
TestSetTraceFunc#test_remove_in_trace = 0.00 s = .
TestSetTraceFunc#test_return = 0.00 s = .
TestSetTraceFunc#test_return2 = 0.00 s = .
/home/k_tsj/work/ruby/lib/test/unit/parallel.rb:40:in rescue in block in _run_suite': undefined local variable or method
local_var’ for
#Test::Unit::Worker:0x002aaaaaf8a5a0 (NameError)
xyzzy:2:in eval' xyzzy:2:in
block in trace_by_tracepoint’
/home/k_tsj/work/ruby/lib/test/unit/parallel.rb:40:in rescue in block in _run_suite' /home/k_tsj/work/ruby/lib/test/unit/parallel.rb:36:in
block in
_run_suite’
2つめがSEGVを起こすものになります。
TestSetTraceFunc#test_break = 0.00 s = .
TestSetTraceFunc#test_c_call = 0.00 s = .
/home/k_tsj/work/ruby/lib/test/unit/parallel.rb:37: [BUG] Segmentation
fault
ruby 2.0.0dev (2012-09-16 trunk 36980) [x86_64-linux]
– Control frame information
c:0002 p:0045 s:0006 b:0005 e:000e40 BLOCK
/home/k_tsj/work/ruby/lib/test/unit/parallel.rb:37 [FINISH]
c:0001 p:---- s:0002 b:0002 e:000001 TOP [FINISH]
/home/k_tsj/work/ruby/lib/test/unit/parallel.rb:37:in `block in
_run_suite’
=end