From b7bdd2f578c28eb11022c333cdbcd638b458da82 Mon Sep 17 00:00:00 2001 From: Jack Nagel Date: Wed, 29 Aug 2012 15:51:13 -0500 Subject: tests: support "rake rcov" if rcov is installed If the rcov gem is installed, `rake rcov` will generate a test coverage report in the coverage directory. I picked rcov because it is 1.8 compatible. But it could easily be swapped out for another coverage tool. Signed-off-by: Jack Nagel --- Library/Homebrew/test/Rakefile | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'Library/Homebrew/test/Rakefile') diff --git a/Library/Homebrew/test/Rakefile b/Library/Homebrew/test/Rakefile index cf3000b9b..5faa77ca7 100644 --- a/Library/Homebrew/test/Rakefile +++ b/Library/Homebrew/test/Rakefile @@ -1,9 +1,10 @@ require 'rake' require 'rake/testtask' -Dir.chdir File.expand_path(File.dirname(__FILE__)) +TEST_DIRECTORY = File.expand_path(File.dirname(__FILE__)) +TEST_FILES = FileList["#{TEST_DIRECTORY}/test_*.rb"] -TEST_FILES = FileList['test_*.rb'] +Dir.chdir TEST_DIRECTORY task :default => :test @@ -21,3 +22,20 @@ namespace :test do end end end + +begin + require 'rubygems' + require 'rcov/rcovtask' + + Rcov::RcovTask.new do |t| + t.libs << Dir.pwd + t.test_files = TEST_FILES + t.rcov_opts = %w{--exclude=Gems + --exclude=test_ + --exclude=testball + --exclude=testing} + t.output_dir = TEST_DIRECTORY+'/coverage' + end +rescue LoadError + nil +end -- cgit v1.2.3