[#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
[#67353] Re: Future of test suites for Ruby
— Tanaka Akira <akr@...>
2015/01/05
2015-01-06 7:18 GMT+09:00 Charles Oliver Nutter <headius@headius.com>:
[#67444] [ruby-trunk - Feature #10718] [Open] IO#close should not raise IOError on closed IO objects. — akr@...
Issue #10718 has been reported by Akira Tanaka.
3 messages
2015/01/09
[#67689] Keyword Arguments — Anthony Crumley <anthony.crumley@...>
Please forgive my ignorance as I am new to MRI development and am still
5 messages
2015/01/20
[#67733] [ruby-trunk - Bug #10761] Marshal.dump 100% slower in 2.2.0 vs 2.1.5 — normalperson@...
Issue #10761 has been updated by Eric Wong.
4 messages
2015/01/21
[#67736] Re: [ruby-trunk - Bug #10761] Marshal.dump 100% slower in 2.2.0 vs 2.1.5
— Eric Wong <normalperson@...>
2015/01/22
normalperson@yhbt.net wrote:
[#67772] Preventing Redundant Email Messages — Jeremy Evans <code@...>
For a long time, I've wondered why I sometimes receive redundant email
5 messages
2015/01/23
[ruby-core:67721] [ruby-trunk - Bug #10764] [Open] TracePoint API reports events for the last last line of multiline ||=
From:
os97673@...
Date:
2015-01-21 12:52:56 UTC
List:
ruby-core #67721
Issue #10764 has been reported by Oleg Sukhodolsky.
----------------------------------------
Bug #10764: TracePoint API reports events for the last last line of multiline ||=
https://bugs.ruby-lang.org/issues/10764
* 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 demonstrates the problem:
~~~ruby
TracePoint.new do |tp|
printf "%8s %s:%-2d %13s\n", tp.event, tp.path, tp.lineno, tp.method_id
end.enable
def foo
end
def bar
@foo ||= foo do
end
@foo &&= foo do
end
@foo = foo do
end
end
bar
~~~
Here is test's output I've got with 2.2.0
~~~ruby
c_return /Users/user/work/tests/slim-tests/ruby/debugger/ruby-16152.rb:3 enable
line /Users/user/work/tests/slim-tests/ruby/debugger/ruby-16152.rb:5
c_call /Users/user/work/tests/slim-tests/ruby/debugger/ruby-16152.rb:5 method_added
c_return /Users/user/work/tests/slim-tests/ruby/debugger/ruby-16152.rb:5 method_added
line /Users/user/work/tests/slim-tests/ruby/debugger/ruby-16152.rb:8
c_call /Users/user/work/tests/slim-tests/ruby/debugger/ruby-16152.rb:8 method_added
c_return /Users/user/work/tests/slim-tests/ruby/debugger/ruby-16152.rb:8 method_added
line /Users/user/work/tests/slim-tests/ruby/debugger/ruby-16152.rb:19
call /Users/user/work/tests/slim-tests/ruby/debugger/ruby-16152.rb:8 bar
line /Users/user/work/tests/slim-tests/ruby/debugger/ruby-16152.rb:10 bar
call /Users/user/work/tests/slim-tests/ruby/debugger/ruby-16152.rb:5 foo
return /Users/user/work/tests/slim-tests/ruby/debugger/ruby-16152.rb:6 foo
line /Users/user/work/tests/slim-tests/ruby/debugger/ruby-16152.rb:13 bar
line /Users/user/work/tests/slim-tests/ruby/debugger/ruby-16152.rb:15 bar
call /Users/user/work/tests/slim-tests/ruby/debugger/ruby-16152.rb:5 foo
return /Users/user/work/tests/slim-tests/ruby/debugger/ruby-16152.rb:6 foo
return /Users/user/work/tests/slim-tests/ruby/debugger/ruby-16152.rb:17 bar
c_return -e:1 load
~~~
As you can see from the output we do get events for last line for ||= and &&= but for the first line for = (looks a little bit inconsistent for me ;)
We do use the API to implement debugger (https://github.com/denofevil/debase and https://github.com/ruby-debug/ruby-debug-ide) and such behavior means
that either user has be be very smart about setting breakpoints (it needs to know/guess at which lines it is possible to set breakpoints and this is not very obvious)
or debugger should be even smarter than the user and move breakpoints to the closest allowed place (which is even harder).
It would be nice to have consistent behavior and get events for the first line of the a multi line assignment in all cases.
Originally the problem reported agains RubyMine's debugger (https://youtrack.jetbrains.com/issue/RUBY-16152)
--
https://bugs.ruby-lang.org/