RCov started analyzing loaded libs (including Rdoc itself) – when using rvm (Ruby Version Manager)

StackOverflow https://stackoverflow.com/questions/3021551

  •  26-09-2019
  •  | 
  •  

문제

Context

  • rcov 0.9.8 2010-02-28
  • ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin10.3.0]
  • rvm 0.1.38 by Wayne E. Seguin (wayneeseguin@gmail.com) [http://rvm.beginrescueend.com/]
  • System Ruby (rvm use system): ruby 1.8.7 (2010-01-10 patchlevel 249) [i686-darwin10]

Files

The test setup is a 'lib' folder containing a single file which defines a class, the folders 'test' and 'test/sub_test', with 'sub_test' containing the single 'test_example_lib.rb' and a Rakefile like this:

require 'rcov/rcovtask'

task :default => [:rcov]

desc "RCov"
Rcov::RcovTask.new do | t |
    t.test_files = FileList[ 'test/**/test_*.rb' ]
end

Result

#rake
(in /Users/stephan/tmp/rcov_example)
rm -r coverage
Loaded suite /Users/stephan/.rvm/gems/ruby-1.8.7-p174/bin/rcov
Started
.
Finished in 0.000508 seconds.

1 tests, 2 assertions, 0 failures, 0 errors
+----------------------------------------------------+-------+-------+--------+
|                  File                              | Lines |  LOC  |  COV   |
+----------------------------------------------------+-------+-------+--------+
|...ms/rcov-0.9.8/lib/rcov/code_coverage_analyzer.rb |   271 |   156 |   5.1% |
|...ems/rcov-0.9.8/lib/rcov/differential_analyzer.rb |   116 |    82 |   9.8% |
|lib/example_lib.rb                                  |    16 |    11 |  72.7% |
+----------------------------------------------------+-------+-------+--------+
|Total                                               |   403 |   249 |   9.6% |
+----------------------------------------------------+-------+-------+--------+
9.6%   3 file(s)   403 Lines   249 LOC

Question

Why is RCov itself analysed here? I'd expect that (and it doesn't happen when using 'rvm use system'). In fact it seems to be due to me using a Ruby installed via rvm.

도움이 되었습니까?

해결책

Add some exclusion in rcov :

--exclude /gems/,/Library/,/usr/,spec,lib/tasks

require 'rcov/rcovtask'

task :default => [:rcov]

desc "RCov"
Rcov::RcovTask.new do | t |
    t.test_files = FileList[ 'test/**/test_*.rb' ]
    t.rcov_opts << '--exclude /gems/,/Library/,/usr/,spec,lib/tasks'
end
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top