[#67346] Future of test suites for Ruby — Charles Oliver Nutter <headius@...>

I'll try to be brief so we can discuss all this. tl;dr: RubySpec is

19 messages 2015/01/05

[ruby-core:67720] [ruby-trunk - Bug #10763] [Open] do not receive TracePoint event for elsif

From: os97673@...
Date: 2015-01-21 12:40:11 UTC
List: ruby-core #67720
Issue #10763 has been reported by Oleg Sukhodolsky.

----------------------------------------
Bug #10763: do not receive TracePoint event for elsif
https://bugs.ruby-lang.org/issues/10763

* Author: Oleg Sukhodolsky
* Status: Open
* Priority: Normal
* Assignee: 
* ruby -v: ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-darwin14]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
Here is a simple test which shows that we do not receive TracePoint event for line with elsif, 
and so it is impossible to implement debugger which will be able to set breakpoint on that line
(originally reported agains RubyMine's debugger - https://youtrack.jetbrains.com/issue/RUBY-14452)

~~~ruby
trace = TracePoint.new do |tp|
  printf "%8s %s:%-2d %13s\n", tp.event, tp.path, tp.lineno, tp.method_id
end

def method1; false end
def method2; true end
trace.enable

if method1
  1
elsif method2
  2
end
~~~
Here is an output I'v got with 2.2.0 (the same problem we have with 1.9, 2.0, and 2.1)

~~~ruby
c_return /Users/user/work/tests/slim-tests/ruby/debugger/ruby-14452.rb:7         enable
    line /Users/user/work/tests/slim-tests/ruby/debugger/ruby-14452.rb:9               
    call /Users/user/work/tests/slim-tests/ruby/debugger/ruby-14452.rb:5        method1
    line /Users/user/work/tests/slim-tests/ruby/debugger/ruby-14452.rb:5        method1
  return /Users/user/work/tests/slim-tests/ruby/debugger/ruby-14452.rb:5        method1
    call /Users/user/work/tests/slim-tests/ruby/debugger/ruby-14452.rb:6        method2
    line /Users/user/work/tests/slim-tests/ruby/debugger/ruby-14452.rb:6        method2
  return /Users/user/work/tests/slim-tests/ruby/debugger/ruby-14452.rb:6        method2
    line /Users/user/work/tests/slim-tests/ruby/debugger/ruby-14452.rb:12              
c_return -e:1           load
~~~

IMHO any user does expect that it should be possible to set breakpoint on "elsif" to be able to evaluate condition.



-- 
https://bugs.ruby-lang.org/

In This Thread

Prev Next