diff -r 308f7dc97753 -r 143e61e24c08 rake/testing.rb --- a/rake/testing.rb Wed Aug 06 17:38:56 2008 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,127 +0,0 @@ -# -# Testing Rake Tasks -# $Id$ -# -# - - -# Keep these tasks optional by handling LoadErrors with stub task -# replacements. -begin - gem 'rspec', '>= 1.1.1' - require 'spec/rake/spectask' - - COMMON_SPEC_OPTS = ['-c', '-f', 's'] - - ### Task: spec - Spec::Rake::SpecTask.new( :spec ) do |task| - task.spec_files = SPEC_FILES - task.libs += [LIBDIR] - task.spec_opts = COMMON_SPEC_OPTS - end - task :test => [:spec] - - - namespace :spec do - desc "Generate HTML output for a spec run" - Spec::Rake::SpecTask.new( :html ) do |task| - task.spec_files = SPEC_FILES - task.spec_opts = ['-f','h', '-D'] - end - - desc "Generate plain-text output for a CruiseControl.rb build" - Spec::Rake::SpecTask.new( :text ) do |task| - task.spec_files = SPEC_FILES - task.spec_opts = ['-f','p'] - end - end -rescue LoadError => err - task :no_rspec do - $stderr.puts "Testing tasks not defined: RSpec rake tasklib not available: %s" % - [ err.message ] - end - - task :spec => :no_rspec - namespace :spec do - task :autotest => :no_rspec - task :html => :no_rspec - task :text => :no_rspec - end -end - - - -### RCov (via RSpec) tasks -begin - gem 'rcov' - gem 'rspec', '>= 1.1.1' - - COVERAGE_TARGETDIR = STATICWWWDIR + 'coverage' - - RCOV_OPTS = ['--exclude', SPEC_EXCLUDES, '--xrefs', '--save'] - - ### Task: coverage (via RCov) - ### Task: spec - desc "Build test coverage reports" - Spec::Rake::SpecTask.new( :coverage ) do |task| - task.spec_files = SPEC_FILES - task.libs += [LIBDIR] - task.spec_opts = ['-f', 'p', '-b'] - task.rcov_opts = RCOV_OPTS - task.rcov = true - end - - - task :rcov => [:coverage] do; end - - ### Other coverage tasks - namespace :coverage do - desc "Generate a detailed text coverage report" - Spec::Rake::SpecTask.new( :text ) do |task| - task.spec_files = SPEC_FILES - task.rcov_opts = RCOV_OPTS + ['--text-report'] - task.rcov = true - end - - desc "Show differences in coverage from last run" - Spec::Rake::SpecTask.new( :diff ) do |task| - task.spec_files = SPEC_FILES - task.rcov_opts = ['--text-coverage-diff'] - task.rcov = true - end - - ### Task: verify coverage - desc "Build coverage statistics" - VerifyTask.new( :verify => :rcov ) do |task| - task.threshold = 85.0 - end - - desc "Run RCov in 'spec-only' mode to check coverage from specs" - Spec::Rake::SpecTask.new( :speconly ) do |task| - task.spec_files = SPEC_FILES - task.rcov_opts = ['--exclude', SPEC_EXCLUDES, '--text-report', '--save'] - task.rcov = true - end - end - - task :clobber_coverage do - rmtree( COVERAGE_TARGETDIR ) - end - -rescue LoadError => err - task :no_rcov do - $stderr.puts "Coverage tasks not defined: RSpec+RCov tasklib not available: %s" % - [ err.message ] - end - - task :coverage => :no_rcov - task :clobber_coverage - task :rcov => :no_rcov - namespace :coverage do - task :text => :no_rcov - task :diff => :no_rcov - end - task :verify => :no_rcov -end - -