On Wed, Feb 28, 2007 at 09:48:42PM +0900, Jan Friedrich wrote:
> Thanks for new version. But I get an error:
[...]
> 7 tests, 25 assertions, 0 failures, 0 errors
> (eval):229:in `method_missing': no id given (ArgumentError)
>         from (eval):229:in `method_missing'
>         from 
> /usr/lib/ruby/gems/1.8/gems/rcov-0.8.0.1/lib/rcov/report.rb:36:in 
> `initialize'
>         from 

This was an interesting bug report, I've found a possible bug in Ruby
(new behavior introduced in 1.8.5) thanks to it.

Here's the part of the story that relates to your problem; the Ruby build
(more precisely the stdlib) you're using predates this:

    Sat Jun 17 14:53:32 2006  Tanaka Akira  <akr / m17n.org>

	    * lib/pathname.rb: backport from 1.9.
	      (Kernel#Pathname): new method.

(iow. you're probably using ruby < 1.8.5).

There's a chance rcov will work if you apply this patch:

Wed Feb 28 15:29:58 CET 2007 Mauricio Fernandez <mfp / acm.org> * lib/rcov/report.rb: use Pathname.new instead of Pathname for compatibility with Ruby < 1.8.5. diff -rN -u old-head/lib/rcov/report.rb new-head/lib/rcov/report.rb --- old-head/lib/rcov/report.rb 2007-02-28 15:30:47.000000000 +0100 +++ new-head/lib/rcov/report.rb 2007-02-28 15:30:47.000000000 +0100 @@ -33,7 +33,7 @@ @callsite_index = nil @mangle_filename = Hash.new{|h,base| - h[base] = Pathname(base).cleanpath.to_s.gsub(%r{^\w:[/\\]}, "").gsub(/\./, "_").gsub(/[\\\/]/, "-") + ".html" + h[base] = Pathname.new(base).cleanpath.to_s.gsub(%r{^\w:[/\\]}, "").gsub(/\./, "_").gsub(/[\\\/]/, "-") + ".html" } end
I'd be grateful if you could run rcov after applying the above patch and tell me if it works. If so, 0.8.1 will follow shortly. The unit tests seem to indicate that cross-referenced reports might not work under ruby <1.8.5, but the basic functionality (code coverage) does. I'll document that. -- Mauricio Fernandez - http://eigenclass.org - singular Ruby ** Latest postings ** More logical programming in Ruby: solving Einstein's riddle (Zebra puzzle) http://eigenclass.org/hiki.rb?einstein-riddle-solved-in-ruby Bounded space memoization, another new twist http://eigenclass.org/hiki.rb?bounded-space-memoization