-
Notifications
You must be signed in to change notification settings - Fork 551
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
1.8 Compatibility via TracePoint #57
Comments
That is exactly what would be required :) Please go ahead if you think you can build something that returns a Coverage.result compatible with 1.9.x, that'd be awesome! |
Okay, preliminary work on this is here: https://github.com/rubyworks/tracepoint/blob/master/lib/tracepoint/coverage.rb It's not 100% exact to 1.9's Coverage library but it looks like it will be close enough. Here is an example of coverage for
The difference being that tracepoint counted one line twice, and does not include trailing blank lines. The bigger issue though, is that I have not figured out a way to exclude files that aren't relevant from the coverage results b/c $LOADED_FEATURES in Ruby 1.8 doesn't use absolute paths. Any ideas? |
Pretty awesome! Did you try to do |
Unfortunately File.expand_path won't work b/c that would make the path relative to the current working directory rather than the lib directories from which they are actually found. I could match against the end of the path, that would probably work fine most of the time, but on occasion a false positive could creep in. |
Closing since basic compatibilty seems to be hard to achieve, nothing has happend on this for a while and also Ruby 1.8 is on the way out (official support even stops soon) and has a decent coverage lib in RCov, I don't think this is a subject worthwile of further keeping around. Please update if there are objections to this, and thanks for trying to make this work! |
Yep, I agree. 1.8 is finally about done. Ironically it was thanks to this endeavor that I discovered Ruby 1.9's #set_trace_func is broken. And from conversation on core it sounds like no one plans to fix it. Rather the vibe I got was that #set_trace_func itself is on the way out. That being the case TracePoint has no means for working beyond 1.8 :-( So it's a good thing I tried any way. C'est la vie. |
I believe I can give you 1.8 compatibility, and in fact compatibility with any ruby engine that supports
#set_trace_func
.A long time ago I wrote a tool called TracePoint. It should be pretty trivial to provide a result from it that exactly mimics
Coverage.result
. Would that do the trick? If so I will write it for you.The text was updated successfully, but these errors were encountered: