fr Mauricio: # Source code, additional information, screenshots... available at # http://eigenclass.org/hiki.rb?rcov # Release information: # http://eigenclass.org/hiki.rb?rcov+0.5.0 rcov is really very useful. Thank you for sharing rcov. # Sample cross-referenced report generated by rcov: # http://eigenclass.org/static/rcov-sample-report-crossref/ uber cool. i think the only thing lacking is a web-based editor that hooks to rcov. Wherein you can click on any source, edit it, rerun rcov analysis again, all just using a browser.. # This release is the first to include RubyGems packages: both # a binary one for # Win32 and a platform-independent one for all those with a # compiler, (or a lot # of patience, if willing to run rcov in pure-Ruby mode), so # gem install rcov # should work. tested and runs great in windows and linux. but i would still love to see a pure ruby rcov (even if it may be slow). kind regards -botp
on 30.05.2006 13:42
on 30.05.2006 14:19
On May 30, 2006, at 1:40 PM, Peña, Botp wrote: >> On May 30, 2006, at 11:56 AM, Mauricio Fernandez wrote: >> Sample cross-referenced report generated by rcov: >> http://eigenclass.org/static/rcov-sample-report-crossref/ > > uber cool. > i think the only thing lacking is a web-based editor that hooks to > rcov. Wherein you can click on any source, edit it, rerun rcov > analysis again, all just using a browser.. I think a way to open up the file in an external editor would be better. This could be done to work with TextMate easily using its [URL scheme][1]. I'm not sure about other editors. Maybe an --editor- links option, which accepts one of: TextMate, ?. [1]: http://macromates.com/textmate/manual/ using_textmate_from_terminal.html#url_scheme_html -- Daniel
on 30.05.2006 19:33
On Tue, May 30, 2006 at 08:40:33PM +0900, Peña, Botp wrote: > > Sample cross-referenced report generated by rcov: > > http://eigenclass.org/static/rcov-sample-report-crossref/ > > uber cool. > i think the only thing lacking is a web-based editor that hooks to rcov. > Wherein you can click on any source, edit it, rerun rcov analysis again, all > just using a browser.. Attractive at first sight, but on second thought I don't think anybody would enjoy editing with a browser (unless running an embedded vim or browsing with emacs) :-) I'll think about integration with the user's editor of choice. > > This release is the first to include RubyGems packages: both a binary one > > for Win32 and a platform-independent one for all those with a compiler, > > (or a lot of patience, if willing to run rcov in pure-Ruby mode), so > > gem install rcov > > should work. > > tested and runs great in windows and linux. > but i would still love to see a pure ruby rcov (even if it may be slow). Actually, rcov *will* run in pure-Ruby mode if it cannot load rcovrt. If you install it from the tarball with ruby setup.rb --without-ext or using RubyGems and the compilation fails, it'll fall back to pure-Ruby and give you a warning: batsman@tux-chan:~/src/rcov/examples$ rcov --version bash: rcov: command not found batsman@tux-chan:~/src/rcov/examples$ make=bogus-command-foo gem install rcov Attempting local installation of 'rcov' Local gem file not found: rcov*.gem Attempting remote installation of 'rcov' Select which gem to install for your platform (i686-linux) 1. rcov 0.5.0.1 (ruby) 2. rcov 0.5.0.1 (mswin32) 3. Cancel installation > 1 Building native extensions. This could take a while... /home/batsman/usr/lib/ruby/1.8/fileutils.rb:243: command not found: bogus-command-foo /home/batsman/usr/lib/ruby/1.8/fileutils.rb:243: command not found: bogus-command-foo install ruby extconf.rb install rcov creating Makefile bogus-command-foo bogus-command-foo install Successfully installed rcov-0.5.0.1 Installing RDoc documentation for rcov-0.5.0.1... batsman@tux-chan:~/src/rcov/examples$ rcov --version rcov 0.5.0 2006-05-30 batsman@tux-chan:~/src/rcov/examples$ rcov --text-coverage --no-html --no-color a.rb Since the rcovrt extension couldn't be loaded, rcov will run in pure-Ruby mode, which is about two orders of magnitude slower. If you're on win32, you can find a pre-built extension (usable with recent One Click Installer and mswin32 builds) at http://eigenclass.org/hiki.rb?rcov . blergh yep Done: 56 ================================================================================ a.rb ================================================================================ srand(0) c = 0 d = 1 10.times do |i| if rand % (i + 10) c += i d += 1 end end puts "blergh" if c > 4*d # stuff puts "yep" ## else ## puts "nope" ## # more stuff ## end puts "Done: #{c+d}"
on 01.06.2006 00:19
On 30 May 2006, at 13:40, Peña, Botp wrote: > fr Mauricio: > # Source code, additional information, screenshots... available at > # http://eigenclass.org/hiki.rb?rcov > # Release information: > # http://eigenclass.org/hiki.rb?rcov+0.5.0 > > rcov is really very useful. > Thank you for sharing rcov. > Seconded! I love it. Thank you bery much. My candidate for the "I want a Pony awards is" Some king of mashup between rcov, rake and ZenTest. I'd like something so that running tests became something akin to making a build in a static language, rcov would tell autotest what tests it needed to re-run based on the profiling information and whine heavily when you have code that's called isn't under test. /me hopes the lazyweb will provide! (and wishes he had proper time himself) Chris
on 01.06.2006 01:13
On May 31, 2006, at 6:16 PM, Chris McGrath wrote: >> > himself) Maybe this is what you mean (I don't know ZenTest), but how hot would it be if someone made an eclipse plugin that did it as a continual background task (like, did it per file every time you saved) and popped up little "Attention" icons next to files and underlined the parts of code that weren't getting hit by unit testing. *drools* But in the mean time rcov is frickin hot! -Mat
on 01.06.2006 10:58
On Thu, Jun 01, 2006 at 08:10:47AM +0900, Mat Schaffer wrote: > > Maybe this is what you mean (I don't know ZenTest), but how hot would > it be if someone made an eclipse plugin that did it as a continual > background task (like, did it per file every time you saved) and > popped up little "Attention" icons next to files and underlined the > parts of code that weren't getting hit by unit testing. *drools* I don't know about eclipse, but I implemented this yesterday: $ rake rcov RCOVOPTS="--save" [...] /me edits lib/rcov.rb ... some time later: $ rake rcov RCOVOPTS="--text-coverage-diff --no-color" (in /home/batsman/src/rcov/head) rm -r coverage /home/batsman/usr/bin/ruby -Ilib:ext/rcovrt "bin/rcov" --text-coverage-diff --no-color -o "coverage" "test/test_CodeCoverageAnalyzer.rb" "test/test_FileStatistics.rb" "test/test_CallSiteAnalyzer.rb" Loaded suite bin/rcov Started ....................................... Finished in 1.163085 seconds. 39 tests, 415 assertions, 0 failures, 0 errors ================================================================================ !!!!! Uncovered code introduced in lib/rcov.rb ### lib/rcov.rb:207 def precompute_coverage(comments_run_by_default = true) changed = false lastidx = lines.size - 1 if (!is_code?(lastidx) || /^__END__$/ =~ @lines[-1]) && !@coverage[lastidx] !! # mark the last block of comments !! @coverage[lastidx] ||= :inferred !! (lastidx-1).downto(0) do |i| !! break if is_code?(i) !! @coverage[i] ||= :inferred !! end !! end (0...lines.size).each do |i| next if @coverage[i] line = @lines[i] It's in my repository, and it will be in rcov 0.6.0.
on 01.06.2006 15:28
On Jun 1, 2006, at 4:56 AM, Mauricio Fernandez wrote: > (in /home/batsman/src/rcov/head) > 39 tests, 415 assertions, 0 failures, 0 errors > if (!is_code?(lastidx) || /^__END__$/ =~ @lines[-1]) && ! > line = @lines[i] > > It's in my repository, and it will be in rcov 0.6.0. Bravo! What's your encore gonna be? I'm no expert in eclipse plugins. And actually the editor is a little hard to plug from what I understand. But if there's a way to get those !! lines in a lightweight machine readable format, it shouldn't be _too_ hard to implement the functionality I was talking about. -Mat
on 01.06.2006 19:44
On Thu, Jun 01, 2006 at 10:25:11PM +0900, Mat Schaffer wrote: >>========== >>!!!!! Uncovered code introduced in lib/rcov.rb >> >>### lib/rcov.rb:207 >> [...] >> >>It's in my repository, and it will be in rcov 0.6.0. > > Bravo! What's your encore gonna be? *chuckle* You just gave me one idea. I've got a piece of paper on my desk where I've written about a dozen things I want to implement (I've crossed out 4 so far); I add a couple every once in a while. I'm keeping them more or less secret for the time being, but I'll send a snapshot (tarball and/or RubyGems packages) of rcov's HEAD branch with the new stuff to whoever reports a new bug in rcov :-) (Reports for bugs I've already fixed in HEAD will be requited with a somewhat less fresh snapshot ;-) > I'm no expert in eclipse plugins. And actually the editor is a > little hard to plug from what I understand. But if there's a way to > get those !! lines in a lightweight machine readable format, it > shouldn't be _too_ hard to implement the functionality I was talking > about. I wrote --text-coverage-diff with that in mind (although not exactly the way you described it). Actually, I was planning some vim integration using errorformat...